注册 登录
编程论坛 C语言论坛

编程计算1+2+4+5+7+8+10+11+13+14+16+17的值

Ycx0721 发布于 2021-11-07 14:26, 2493 次点击
编程计算1+2+4+5+7+8+10+11+13+14+16+17的值
10 回复
#2
吹水佬2021-11-07 14:36
1  4  7  10  13  16
2  5  8  11  14  17
#3
Ycx07212021-11-07 14:38
回复 2楼 吹水佬
计算和
#4
吹水佬2021-11-07 15:05
以下是引用Ycx0721在2021-11-7 14:38:41的发言:

计算和

用手算算看
#5
wmf20142021-11-07 15:24
n*(n+1)/2,数学王子高斯学前班时就发现了。
#6
w181359563302021-11-07 21:40
#include<stdio.h>
int main()
{
int a,sum=0;
for(a=1;a<=17;a++)
{
sum=sum+a;
}
printf("输出和=%d",sum);
return 0;
}
#7
lin51616782021-11-08 08:38
以下是引用Ycx0721在2021-11-7 14:38:41的发言:

计算和

吹水佬的提示够明显了
拆分成2个数列
每个数列都是6个数字
第一个数列从1开始 每次加3
第二个数列从2开始 每次加3
可以用2个等差数列求和公式算出两个数列的和 然后加起来也行
喜欢用2个for循环计算和 然后加起来也行
都是很简单的练习
#8
diycai2021-11-08 12:13
1   4   7   10  13  16
+   +   +   +   +   +
17  14  11  8   5   2

所以结果是
1、数列长度为偶数时,  和为 (a[0]+a[n-1])*n/2
2、数列长度为奇数时,  和为 (a[0]+a[n-2])*(n-1)/2 + a[n-1]   
#9
我善治鬼2021-11-08 14:30
雖然感覺沒有什麼用, 但是我還是做了出來

程序代码:


#include <stdio.h>

#define 順加法(初, 結) ((初) == (結) ? ((初) + (結)) : (((結) > (初) ? (結) * ((結) + 1) - (初) * ((初) - 1) : (初) * ((初) + 1) - (結) * ((結) - 1)) / 2))
#define 順減法(初, 結) ((初) == (結) ? 0 : (((初) - (結) == 1) ? 1 : (((結) - (初)) == 1 ? 1 : (((結) > (初)) ? ((初) - 順加法((初) + 1, (結))) : ((初) - 順加法((初) - 1, (結)))))))

int main()
{
    printf("%d\n", 順減法(10, 20));
    return 0;
}


#10
独木星空2021-11-08 14:55
回复 楼主 Ycx0721
s=0
FOR i=1 TO 17
  IF MOD(i,3)=0
      LOOP
      ELSE
      s=s+i
  ENDIF
ENDFOR
?s
这是简单的累加
发错了地方,是c语言,根本不知道它是个什么东东。

[此贴子已经被作者于2021-11-8 14:57编辑过]

#11
D22845814702021-11-09 08:47
/*公式计算*/
#include <stdio.h>
int main()
{
    int n, sum = 0, num_1 = 1, num_2 = 2;
    for (int i = 0; i < 6; i++)
    {
        sum += num_1 + num_2;
        num_1 += 3;
        num_2 += 3;
    }
    printf("%d\n", sum);
    return 0;
}
1