#include stdio.h
成都創新互聯公司主要從事網站設計制作、成都網站建設、網頁設計、企業做網站、公司建網站等業務。立足成都服務北辰,十多年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:028-86922220
#include math.h
int main()
{
int a,i;
for(a=1;a=1000;a++){
int A[100]={0},j;
j=0;
for(i=1;ia;i++){ //isqrt(a) ——》并不是判定質數,需要找出除本身外所有因數
if(a%i==0){ //a/i==0 ——》/是求商,%才是取余
A[j]=i; //A[j]=a ——》A[j]應存儲的是a的因數,而不是它本身
j++;
}
}
int n,b;
n=j;
b=a;
for(j=j-1;j=0;j--){
b=b-A[j];
}
if(b==0){
printf("%d=",a);
for(j=0;jn-1;j++){
printf("%d+",A[j]);
}
printf("%d\n",A[j]);
}
}
return 0;
}
#include stdio.h
int ws(int a,int b,int c)
{
int d;
if (ac) {
if (a%c==0)
b+=c;
d=ws(a,b,c+1);
}
else if (c==a) {
if (b==a) {
return 1;
}
else return 0;
}
if (c==a-1d) {
printf("%d is Prefect number:\t",a);
}
if (d(a%c==0)) {
printf("%d ",c);
}
else if (!d) return 0;
if (c==1)
{putchar('\n');
return d;}
}
int main(void)
{
int i;
for (i=1; i=1000; i++)
ws(i,0,1) ;
return 0;
}
這里舉例了一個求1000以內的完數算法,供你參考
#includestdio.h
void isPerfect(int m){ //定義判斷一個數是否為完全數的函數isPerfect
int i,sum=0;
for(i=1;i=m/2;i++){
if(m%i==0){
sum+=i;
}
}
if(sum==m){
printf("你輸入的這個數是完全數\n");
}
else
printf("你輸入的這個數不是完全數\n");
}
main(){
int a;
printf("請輸入一個整數a:\n");
scanf("%d",a);
isPerfect(a);//調用這個函數
}
void Solve(int num)
{
int sum = 0;
int i = 0;
if (num == 0)
{
printf("No\n");
}
else if (num == 1)
{
printf("Yes, its factors are %d\n", num);
}
else
{
for (i = 1; i num; i++)
{
if (num % i == 0)
{
sum += i;
}
}
if (sum == num)
{
printf("Yes, its factors are ");
for (i = 1; i num; i++)
{
if (num % i == 0)
{
printf("%d ", i);
}
}
printf("\n");
}
else
{
printf("No\n");
}
}
}
int main() //鏈表建立測試
{
int n;
while(scanf("%d", n) != EOF)
{
Solve(n);
fflush(stdin); //防止輸入字母造成死循環
}
return 0;
}
分享標題:求完數c語言函數 c語言怎么求完數
文章來源:http://vcdvsql.cn/article8/hpgsip.html
成都網站建設公司_創新互聯,為您提供網站營銷、軟件開發、搜索引擎優化、營銷型網站建設、電子商務、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯