程式設計題 輸入正整數,若該數能用幾個連續正整數之和表示,則輸出所有可能的正整數序列

2021-05-04 08:50:52 字數 4121 閱讀 7927

1樓:江邊浪人夏

#include

void main()}}

2樓:毛毛蟲丶

解題思路:假設正整數 n 能表示為 i 個連續正整數之和且其第乙個數為 x,則 n = x * i + (i - 1) * i/2,其中 n, x, i 都為正整數,所以如果 x = (n - (i-1)*i/2) / i 為正整數,則 n 就能表示為i個連續正整數之和。i 的取值範圍為2-n/2 +2。

python答案:

# !/usr/bin/env python# -*- coding: utf-8 -*-def foo(n):

for i in range(2, n/2 + 2):

if ((n - (i-1)*i/2) % i) == 0:

x = (n - (i-1)*i/2) / iprint '%d = ' % n,

for j in range(i):

print x + j,

print '\n'

break

else:

print 'cant'

foo(3)

foo(5)

foo(8)

foo(10)

foo(28)

foo(37)

foo(66)

foo(88)

foo(136)

foo(1024)

foo(5050)

3樓:

語言只是乙個工具,如果不是嫌效率低的話,建議樓主選擇: 毛毛蟲丶 - 助理 ** 的答案。

4樓:匿名使用者

python答案:

# !/usr/bin/env python# -*- coding: utf-8 -*-def foo(n):

for i in range(2, n/2 + 2):

if ((n - (i-1)*i/2) % i) == 0:

x = (n - (i-1)*i/2) / iprint '%d = ' % n,

for j in range(i):

print x + j,

print '\n'

break

else:

print 'cant'

foo(3)

foo(5)

foo(8)

foo(10)

foo(28)

foo(37)

foo(66)

foo(88)

foo(136)

foo(1024)

foo(5050)

c語言程式設計問題:從鍵盤輸入乙個正整數,判斷該數是否素數並輸出。如果輸入的不是正數,則提示輸入錯誤

5樓:匿名使用者

#include

#include

bool check(int);

int main(void)

if (check(num))

printf("%d是素數\n", num);

else

printf("%d不是素數\n", num);

return 0;

}bool check(int number)

"從鍵盤輸入乙個正整數判斷他是否為3和5倍數是則輸出yes否則輸出no"的c語言程式設計

6樓:it孤鶩

你好,測試通過

望採納!

#include

void main()

7樓:塵意一放翁

#include

main()

8樓:菱漓仙洵

int a;

sprintf("%d",&a);

if( 0==a%3 && 0==a%5)printf("yes");

else

printf("no");

c語言程式設計: 輸入乙個整數,判斷這個數是奇數還是偶數,如果是奇數就輸出「奇數」,如果是偶數就輸出「

9樓:匿名使用者

#include

main()

10樓:ct湯圓

#include "stdio.h"

main()

11樓:尼嗎還有

void main()

else if (a%2 == 1)

else}

12樓:匿名使用者

void main()

else}

13樓:囧殊途同歸囧

怎麼分析這個程式啊?

從鍵盤輸入乙個4位數的正整數n,將該數反序輸出,例如,若輸入的是1234,則輸出的是4321

14樓:滄海雄風

//數學法

#include

int main()

while ( !(num>999&&num<10000));

while (num)

return 0;

}//string庫法

#include

#include

int main()

;dowhile (strlen(str)!=4);

printf("%s",strrev(str));

return 0;

}//字串for迴圈法

#include

int main()

;dowhile (strlen(str)!=4);

for(i=3;i>=0;i--)

return 0;

}//陣列下標法

#include

int main()

;dowhile (strlen(str)!=4);

printf("%c%c%c%c",str[3],str[2],str[1],str[0]);

return 0;}

c語言中判斷乙個正整數是否為素數,若是素數則輸出該素數,若不是則輸出該數所有的因子

15樓:匿名使用者

#include

#include

void main()

j++;

}printf("\n");

return;}}

printf("%d 是乙個素數\n",m);}

16樓:匿名使用者

#include

#include

int isprime(int n)

int main() }}

return 0;}

17樓:匿名使用者

普通判斷素來數,只要找到因

自數時就會用break結束判斷,這裡就用個標誌來表明找到了因數而繼續找下乙個因素即可,最後根據標誌來判斷是否素數。另外,由於m/2一般會稍大於根號m所以用這個取代呼叫sqrt函式,如果要呼叫要寫:k=sqrt((double)m);。

#include

void main()

if ( a ) printf("%d是乙個素數\n",m); else pritf("\n");}

18樓:

//#include "stdafx.h"//vc++6.0加上這一行.

#include "stdio.h"

bool prime(int n)

void main(void)

if(!prime(ndec))

}printf("%d.\n",ndec);

}else printf("%d is a primer!\n",ndec);}

輸入乙個正整數,判斷這個正整數是否是5和7的倍數,若是,輸出yes,否則輸出no,試程式設計

19樓:匿名使用者

#include

void main()

else

printf("\n");}

編寫程式,實現從鍵盤輸入正整數,輸出該正整數的位數

什麼語言,c嗎,c這樣寫 scanf d x n 0 while x 寫程式用輸出乙個由使用者輸入的正整數的位數,例如26的位數為2 2341的位數為4。include stdio.h void main printf sum是 d位數 n i 正確的 編寫程式,從鍵盤輸入乙個3位的正整數,輸出它的...

用C語言編寫「輸入正整數,統計該整數的位數並計算其各個

include int main printf 數字個數 為 d,各個數相加為 d n i,s return 0 include int main printf number of data items d,all together d n i,s getch c語言程式設計 編寫程式,輸入乙個正整...

java語言程式設計輸入正整數n輸出表示式

package test import java.util.scanner public class express public static double getresult int n return sum public double getnum int n else return sum ...