完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想编一个程序,穷举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,'%dt %dt %dt %dt %dt %dt %dt %dt %dt %dt %dn',... 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 |
|
相关推荐
1个回答
|
|
FOR循环与C语言的不太一样,比如matlab中for i=1:10,则是循环10次,每次加1 退出循环时i为10.而C语言中退出循环时i为11。。。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1557 浏览 1 评论
200圆!求助大佬给一份VSG并网和离网模式的simulink仿真
1841 浏览 0 评论
MATLAB(3)--矩阵的引用(sub2ind、ind2sub、reshape函数使用)
2656 浏览 0 评论
2997 浏览 0 评论
4095 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 22:23 , Processed in 0.573034 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号