将一维区间随机划分为指定块数
我想将一维区间随机划分为指定块数,返回每块的大小。下面是我的代码,可是达不到预定效果。各位有什么方法可以实现这一功能,不吝赐教!谢谢了!
#include <stdlib.h>#include <time.h>#include <iostream>using namespace std;int main(){ //区间的下限 int lower=10; //区间的上限 int upper=20; //欲随机划分的块数 int count=5; int *a=new int[count]; srand(time(NULL)); int sum=0; //幻数 int magic=10; for(int i=0;i<count;i++) { a[i]=rand()%magic; sum+=a[i]; } for(int i=0;i<count;i++) { a[i]=((double)a[i]/sum)*(upper-lower); cout<<a[i]<<endl; } delete []a; return 0;}