作业帮 > 综合 > 作业

程序算法设计,将某整数数值,分解成指定个数的一组数值,这组数据中每个数值为随机数.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 23:08:32
程序算法设计,将某整数数值,分解成指定个数的一组数值,这组数据中每个数值为随机数.
要求:分解时,可以人为控制取整.
例如:将1000分解成10个数字,这个10数字分别为:100、110、50、70、77.6、122.95 等
void fenjie( int s,int n,int a[]) //a是用来存储随机数的,s为1000,n= 10(第一次的时候)
{
if( n >1)
{
a[n-1] = rand %100;
fenjie( s - a[n-1],n-1 ,a);
}
else {
a[0] = s;
}
}
其实就是一个分解递归的过程,将原问题分解成两个子问题,即一个随机数和其他9个随机数,这是分治的思想
再问: 谢谢启发,但是如果要求分解出来的这组数据要求全部是 正数呢
再答: 那就是把0给去掉就好了,rand()%100的范围是0到99,你可以这样写 rand()%99+1,就变成1到100了
再问: 虽然你的回答不对,不过我想到办法了,谢谢你。