C语言变量控制循环层数,菜鸟求助,关于用参数控制for循环层数的问题

我想编一个程序,穷举n个人分m块钱的问题

之前试着编了一个10个人分100快钱的,用了10个for的嵌套,但是人数不定的话要怎么改呢?

之前看论坛上说用for实现不了,要用递归算法的非递归实现,自己模拟栈。然后用while来做循环。不是很明白。。。:'(

另,可能的话能不能把它改成并行计算的呢(算的实在太慢了)?求各位高手帮忙~~~~

a=zeros(1,101);

i=1;

for x1=0:10;

for x2=x1:12;

m2=x1+x2;

for x3=x2:13;

m3=m2+x3;

for  x4=x3:15;

m4=m3+x4;

for   x5=x4:17;

m5=m4+x5;

for  x6=x5:20;

m6=m5+x6;

for  x7=x6:25;

m7=m6+x7;

for  x8=x7:34;

m8=m7+x8;

for  x9=x8:50;

m9=m8+x9;

t=100-m9;

if t>=x9;

x10=t;

a(x1+1)=a(x1+1)+1;

a(x2+1)=a(x2+1)+1;

a(x3+1)=a(x3+1)+1;

a(x4+1)=a(x4+1)+1;

a(x5+1)=a(x5+1)+1;

a(x6+1)=a(x6+1)+1;

a(x7+1)=a(x7+1)+1;

a(x8+1)=a(x8+1)+1;

a(x9+1)=a(x9+1)+1;

a(x10+1)=a(x10+1)+1;

fid = fopen('d:\test.xls','a+t');

fprintf(fid,'%d\t  %d\t  %d\t  %d\t %d\t  %d\t  %d\t  %d\t %d\t %d\t %d\n',...

x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,gn);

fclose(fid);

i=i+1;

end

end

end

end

end

end

end

end

end

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值