c 程式設計,求1000以內的完數並每行按格式輸出其因子

2022-02-25 09:10:46 字數 2912 閱讀 4963

1樓:變美的果團

void is_perfectnumber(int number) //判斷完數並輸出

int i = 0;

int j = 0;

int sum = 0;

int arr[100] = ;//定義一個陣列,儲存因子

for (i = 1; i <= number/2; i++) //判斷完數

if (0 == number % i)

arr[j] = i;

j++;

sum = sum + i;

if (number == sum)

printf("%3d its factors are ",sum);

int k = 0;

for (k = 0; k < j; k++)  //輸出完數的各個因子

printf("%d ", arr[k]);

printf("\n");

int main()

int num = 0;

for (num = 1; num <= 1000; num++)

is_perfectnumber(num);

system("pause");

return 0;

2樓:問明

#include"stdafx.h"

#include

int totalnum(int num)//返回所有約數的和int sum=0;//記錄所有約數的和

int i=0;

for(i=1;i<=num/2;i++)if(num%i==0)

sum+=i;

return sum;

int main()

int i=0;

int j=0;

for(i=2;i<=1000;i++)

int k=totalnum(i);

if(i==k)

printf("%d\n",i);

return 0;

其它方法:

public class wanshu

if(sum==i)}

3樓:汐日南莘

#include

using namespace std;

int main()

for(int i=1;i<=1000;i++)int sum=0,a;

for(int j=1;jif(i%j==0)sum=sum+j;//假如找到一個因子就加起來a=j;//for迴圈執行完後a就是最大的那個因子if(sum==i)//判斷因子之和與i是否相等cout

cout<<'+';//假如這個k不是最大的那個因子則輸出+號還有不懂可以問

4樓:兔子和小強

#include

int main(){

int i, j, k, s, factor[100];

for(i=2; i<=1000; ++i){s = k = 0;

for(j=1; j

用c++程式輸出1000以內所以的完數,完數是指與其因子之和相等的數,例如:6=1+2+3,而1,2,3都是6的因子.

5樓:

#include

using namespace std;

int main()

if(a==j)

cout<<"完數是:"<

}return 0;

6樓:

額,沒怎麼看你程式。。。

c++程式設計序找出1000以內的所有完數並輸出其因子

7樓:戶哲茂

#include  "stdio.h"

int fun1(int n)

if(j==n) return 1;

else return 0;

}main(  )

printf("\r\n");}}}

8樓:匿名使用者

【解題思路】

完數是指該數所有的真因子(即除了自身以外的約數)的和,恰好等於這個數本身。比如:6的所有真因子是1,2,3,而恰好6=1+2+3,所以6是完數。

根據這個條件,判斷完數並不難。比如要判斷一個數a是否完數,可以用一個迴圈,從1到(a-1),逐個找出a的因子,並把所有的因子累加起來,最後再和a比較看是否相等,相等就是完數,不相等就不是完數。可以單獨寫一個判斷完數的函式,然後再用一個迴圈從0-1000,找出1000以內的完數,並完成輸出就可以了。

具體**如下:

【程式**】

#include //控制檯操作標頭檔案

bool ws(int a)                  //判斷完數的函式

{if(a<=1) return false;         //如果這個數小於等於1則不是完數

int i,s=0;                     //迴圈變數和所有因子的和

for(i=1;i

9樓:匿名使用者

#include

int composite(int);

main()

printf("\n");

}int composite(int a)

10樓:匿名使用者

#includeint main()

cout<

}} return 0;

}//////////////////////bool wanshu(int in)

if(sum ==in)

an=true;

return an;}

求四子棋c語言的程式設計,求四子棋C語言的程式設計

你這個應該懸賞200分以上可能有人做。快不了哈 關於四子棋的ai,四子棋高手進 四子棋,想要贏,一開始就要下在中間 再來就是看對手的下子方向再來決定要下 要注意每一列剩幾格,行行是否有具備有四子相連條件四子棋只要直 四 行四或是橫四,形成四子就贏了四子棋,不是正規棋盤http www.flyordi...

c語言,程式設計,是比較數的大小,老師說有問題,求大神指教

你這個錯誤在於當x y的時候,你無法判斷y和w的大小 if w 這樣才對 如果你是要找最小值的話。的確是有問題,你可以測試一下輸入10,15,20,輸出的結果是20。為什麼會出現這樣的問題呢?10 15,z 10,15 20,z 20。return 20。解決方法 把min函式內的程式 改正成 in...

程式設計求121315這數的和

選定之後然後我們選擇確定,然後我們回到word文件 include int main c語言程式設計求1 1 2 1 3 1 4 1 5 用函式呼叫 include void main float sum daoshu int n return sum include float sum float...