當前位置:首頁 » 編程語言 » 求1000之內的所有完數c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

求1000之內的所有完數c語言

發布時間: 2023-06-28 04:30:24

① 如何用 C/C++ 求 1 到 1000 內的所有完全數

用 C/C++求1到1000內的所有完全數:

voidWS(int);

voidmain();

intn;

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

WS(n);

voidWS(intm);

{inti,sum=0;

for(i=1;i<m;i++);

if(m%i==0);

sum=sum+i;

if(sum==m);

printf(" 完數為%d=",m);

intj;

for(j=1;j<m;j++);

if(m%j==0);

printf("%d",j)。

定義

如果一個數恰好等於它的真因子之和,則稱該數為「完全數」。各個小於它的約數的和等於它本身的自然數叫做完全數,又稱完美數或完備數。例如:第一個完全數是6,它有約數1、2、3、6,除去它本身6外,其餘3個數相加,1+2+3=6。第二個完全數是28,它有約數1、2、4、7、14、28,除去它本身28外,其餘5個數相加,1+2+4+7+14=28。

② 用c語言求1000以內的完數

完數,即完全數(Perfect number),又稱完美數或完備數,是一些特殊的自然數。其所有的真因子(即除了自身以外的約數)的和(即因子函數),恰好等於本身。
根據該定義 可以得出判斷完數的函數如下:
#include <stdio.h>
int is_perfect_number(int n)
{
int i,s=0;
for(i = 1; i <=n/2; i ++)
if(n%i == 0) s+= i;//統計所有真因子的和。
if(s == n) return 1;//如果與原值相等,則該數為完數。

return 0;//不是完數。
}
根據該函數,只需要對需要列印的范圍內1 ~1000做遍歷,並逐一調用該函數判斷,如果返回1則列印即可。
完整代碼如下:
#include <stdio.h>
int is_perfect_number(int n)
{
int i,s=0;
for(i = 1; i <=n/2; i ++)
if(n%i == 0) s+= i;//統計所有真因子的和。
if(s == n) return 1;//如果與原值相等,則該數為完數。

return 0;//不是完數。
}

int main()
{
int n;
for(n = 1; n < 1000; n++)
if(is_perfect_number(n)) printf("%d,",n);
}

③ c語言求2~1000之間的所有完數

#include "stdio.h"

int perfectNumber(int n)
{
int i;
for(i=2;i<1001;i++)
{
if((i%n)==0)
{
printf("%d\n",i);
}
}
}
int main()
{
int a;
printf("input an number:\n");
scanf("%d",&a);
perfectNumber(a);
}

④ 用C語言編程找出1000以內的所有完數。(涉及知識點:for語句和if語句)。

一個數,所有的真因子(即除了自身以外的約數)的和,恰好等於本身,稱為完數。

所以,要確認是否為完數,只要把所有真因子相加判斷即可。

於是,這個題目的編程思路為:

1 遍歷1~1000;

2 對每個數,判斷是否為完數,如是,則輸出;

3 程序結束。

代碼如下:

#include<stdio.h>
intmain()
{
intn,i,s;
for(n=1;n<=1000;n++)
{
s=0;
for(i=1;i<=n/2;i++)
if(n%i==0)s+=i;//是真因子,累加。
if(s==n)//是完數。
printf("%d,",n);//輸出。
}

return0;
}

⑤ 如何用C語言列印1000以內的完數

// 本程序演示一個數如果恰好等於它的因子之和,這個數就稱為「完數」。例如6=1+2+3.編程找出1000以內的所有完數
#include"stdio.h"
main()
{
int i,j,s,sum;
printf("完數:\n") ;
sum=0;
for(i=2;i<=1000;i++)
{ s=0; ;//此處s=0一定要加,因為前幾次循環的時候s的值已經改變 。清零
for(j=1;j<i;j++)
{
if(i%j==0)//這一塊是如果能夠整除,那麼就是該數的因子,我們累加起來

{s+=j;
}
}
if(s==i) //因子的和與原數比較,如果正確就輸出
{printf("%d\n",i);
sum++;
}
}
printf("完數的個數:%d\n",sum);
}

⑥ C語言編程,找出1000內的所有完數。

完數,即完全數(Perfect number),又稱完美數或完備數,是一些特殊的自然數。其所有的真因子(即除了自身以外的約數)的和(即因子函數),恰好等於本身。
根據該定義 可以得出判斷完數的函數如下:
#include <stdio.h>
int is_perfect_number(int n)
{
int i,s=0;
for(i = 1; i <=n/2; i ++)
if(n%i == 0) s+= i;//統計所有真因子的和。
if(s == n) return 1;//如果與原值相等,則該數為完數。

return 0;//不是完數。
}
根據該函數,只需要對需要列印的范圍內1 ~1000做遍歷,並逐一調用該函數判斷,如果返回1則列印即可。
完整代碼如下:
#include <stdio.h>
int is_perfect_number(int n)
{
int i,s=0;
for(i = 1; i <=n/2; i ++)
if(n%i == 0) s+= i;//統計所有真因子的和。
if(s == n) return 1;//如果與原值相等,則該數為完數。

return 0;//不是完數。
}

int main()
{
int n;
for(n = 1; n < 1000; n++)
if(is_perfect_number(n)) printf("%d,",n);
}