(c语言)和与积的运算第二篇
生活随笔
收集整理的這篇文章主要介紹了
(c语言)和与积的运算第二篇
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
奇因數代數和
定義正整數m的奇因數f(m)
(1)若m為奇數,f(m)=m
(2)若m為偶數,f(m)為m去除其所有偶因數后的奇因數
例如f(6)=3,f(7)=7,f(8)=1,試求奇因數代數和:
n
s()=∑(-1)^(m-1) f(m)
m=1
1.設計要點
根據求和式,m取1,2,n,設計m(1~n)循環,在循環中實施求和:
若m為奇數,s=s+m;若m為偶數,s=s-d;,這里的d為通過循環去除m偶因數后的奇因數。
注意到偶數m(通過賦值d=-m;對d操作以保持循環變量m不變)的偶因數“2”可能有多個,應用條件循環 while(d%2=0)d=d/2;完成去除偶數m的所有偶因數操作。
代碼:
#include <stdio.h>int main() {int d, n, b;long s;scanf("%d", &n);s = 0;for (int i = 1; i <= n; i++) {if (i % 2 != 0)s += i;else {d = i;while (d % 2 == 0)d /= 2;s -= d;}}printf("%ld\n", s);return 0; }總結
以上是生活随笔為你收集整理的(c语言)和与积的运算第二篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (c语言)和与积的运算第一篇
- 下一篇: (c语言)和与积的运算第三篇