第6章循环2讲解.ppt

【例6.16】  求100~999之间的所有水仙花数,即各位数字的立方和恰好等于该数本身的数。用穷举法求解。 分析: 设变量a,b,c,分别表示一个三位数的百、十、个位:a*100+b*10+c a的变化1-9,b的变化0-9,c的变化0-9组合成一个三位,有 9*10*10种可能,找出其中符合水仙花数条件的组合a,b,c。 程序主体结构: for (a=1;a=9;a++) for (b=0;b=9;b++) for (c=0;c=9;c++) {s= a*100+b*10+c; if (s==a*a*a+b*b*b+c*c*c) printf(“%d,”,s); } 另一种穷举法思路: 分析: 设变量s,分拆为百、十、个位,再作判断: 程序主体结构: for (s=100;s=999;s++) { a=s/100; b=(s-a*100)/10; c=s%10; if(a*a*a+b*b*b+c*c*c==s) printf(“%d,”,s); } 【例】求Fibonacci数列:0,1,1,2,3,5,....的前20个数,即: F1 = 0 (n = 1) F2 = 1

文档评论(0)

1亿VIP精品文档

相关文档