任务和代码
/**Copyright (c),CSDN学院 | C语言及程序设计初步*All rights reserved.*文件名称:p40-5.c*作 者:管运煌*完成日期:6月17日*张三、李四、王五、刘六的年龄成一等差数列,他们四人的年龄相加是26,相乘是880,求以他们的年龄为前4项的等差数列的前20项。提示:设数列的首项为n,公差为a,则前4项之和为"4*n+6*a",前4 项之积为"n*(n+a)*(n+a+a)*(n+a+a+a)"。同时"1<=a<=4","1<=n<=6"。可采用穷举法求出此数列。*/#include <stdio.h>int main(int argc, char * argv[]){int n,a,i;int k=0;for (n=1;n<=6;n++)for (a=1;a<=4;a++){if (4*n+6*a==26&&n*(n+a)*(n+a+a)*(n+a+a+a)==880){printf ("%d\n",n);for (i=1;i<=20;i++){n=n+a;printf ("%d\t",n);k++;if (k%5==0)printf ("\n");}}}return 0;}
运行结果
知识总结
等差数列、穷举法
心得体会
首先要根据前四项的和 和积确定首项n和公差a,确定之后再进入循环求出前20项(本题首项是2,有点强迫症~在这里输出了前21项)。
如果觉得《第四十讲 项目5 张三 李四 王五 刘六的年龄等差问题》对你有帮助,请点赞、收藏,并留下你的观点哦!