等差数列(难度:半颗星)

曾经终败给现在 2022-06-15 09:38 381阅读 0赞

问题描述:

一个等差数列的前4个数之和是26,前4个数之积是880,输出这个等差数列的前10项。

问题分析:

设等差数列的首项为i,公差为j,那么等差数列的和与积分别可以表示为:
sum=4 * i + 6 * j
product = i * (i + j ) * (i + 2 * j) * (i + 3 * j)

参考代码:

  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5. int i, j, k, sum, product;
  6. for (i = 1; i < 6; i++)//遍历首项
  7. {
  8. for (j = 1; j < 4; j++)//遍历公差
  9. {
  10. sum = 4 * i + 6 * j;
  11. product = i * (i + j) * (i + 2 * j) * (i + 3 * j);
  12. if (sum == 26 && product == 880)
  13. {
  14. for (k = 1; k <= 10; k++)
  15. {
  16. printf("%d\n", i);
  17. i += j;
  18. }
  19. }
  20. }
  21. }
  22. return 0;
  23. }

运行结果:

这里写图片描述

发表评论

表情:
评论列表 (有 0 条评论,381人围观)

还没有评论,来说两句吧...

相关阅读