當(dāng)前位置:
首頁 >
(c语言)和与积的运算第二篇
發(fā)布時(shí)間:2025/3/19
34
豆豆
生活随笔
收集整理的這篇文章主要介紹了
(c语言)和与积的运算第二篇
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
奇因數(shù)代數(shù)和
定義正整數(shù)m的奇因數(shù)f(m)
(1)若m為奇數(shù),f(m)=m
(2)若m為偶數(shù),f(m)為m去除其所有偶因數(shù)后的奇因數(shù)
例如f(6)=3,f(7)=7,f(8)=1,試求奇因數(shù)代數(shù)和:
n
s()=∑(-1)^(m-1) f(m)
m=1
1.設(shè)計(jì)要點(diǎn)
根據(jù)求和式,m取1,2,n,設(shè)計(jì)m(1~n)循環(huán),在循環(huán)中實(shí)施求和:
若m為奇數(shù),s=s+m;若m為偶數(shù),s=s-d;,這里的d為通過循環(huán)去除m偶因數(shù)后的奇因數(shù)。
注意到偶數(shù)m(通過賦值d=-m;對(duì)d操作以保持循環(huán)變量m不變)的偶因數(shù)“2”可能有多個(gè),應(yīng)用條件循環(huán) while(d%2=0)d=d/2;完成去除偶數(shù)m的所有偶因數(shù)操作。
代碼:
#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; }總結(jié)
以上是生活随笔為你收集整理的(c语言)和与积的运算第二篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (c语言)和与积的运算第一篇
- 下一篇: (c语言)和与积的运算第三篇