當前位置:編程學習大全網 - 編程軟體 - 關於C語言的完全數的編程?

關於C語言的完全數的編程?

完全數

正整數n的所有小於n的不同正因數之和若等於n本身,稱數n為完全數。

例如,6的正因數為1,2,3,而6=1=2+3,則6是壹個完全數。

試求指定區域內的完全數。

1、算法分析

對指定區域中的每壹個數A實施窮舉判別。根據完全數的定義,為了判別正數A是不是完全數,用試商法找出A的所有小於A的因數K。顯然,1<=K<=A/2。註意到1是任何整數的因數,先把因數1確定下來,即因數和S賦初值1,然後設置K從2到A/2的循環,由表達式A/K判別K是否是A的因數,並求出A的因數累加和S。最後若滿足條件A=S說明A是完全數,作打印輸出。把n的因數從1開始,由小到大排列,寫成和式。

程序代碼如下:

#include

void main()

{

int a,s,k;

int n=0;

printf("(2,10000)中的完全數: ");

for(a=2;a<=10000;a++)

{

s=1;

for(k=2;k<=a/2;k++)

if((float)a/k==a/k) s=s+k;

if(s!=a)goto A;

n=n+1;

printf("%d:%d=1",n,a);

for(k=2;k<=a/2;k++)

if((float)a/k==a/k)printf("+ %d",k);

printf("\n");

A:;

}

}

  • 上一篇:plc編程實例詳解
  • 下一篇:如何實現李星激光切割機的自動尋邊技術?
  • copyright 2024編程學習大全網