素數探求(四) 任務5實現

2021-09-17 18:47:55 字數 1437 閱讀 6349

任務5:

請編寫乙個判斷完全數的函式isperfect()。然後判斷從鍵盤輸入的整數是否是完全數

int

isperfect

(int num)

n++;}

if(divsum==num)

else

}else

}

第一步:按照任務4的思路,先判斷鍵盤輸入的數是否素數,顯然素數不是完全數。

第二步:再用while語句獲得該數(除了該數本身)的因子之和,最後用if語句判斷因子之和是否等於該數。

總體的**實現

#include

#include

intgettemp

(int num)

;int

isperfect

(int num)

;int

isprime1

(int num,

int temp)

;int

isprime2

(int num,

int temp)

;int

isprime3

(int num,

int temp)

;int

main()

// 任務1 2

// temp=gettemp(num);

// isprime1(num,temp);

// isprime2(num,temp);

// isprime3(num,temp);

// 任務3

// getprisum(num);

// 任務4

// getdiv(num);

// 任務5

isperfect

(num);}

intgettemp

(int num)

temp=temp;

return temp;

}int

isperfect

(int num)

n++;}

if(divsum==num)

else

}else

}int

isprime1

(int num,

int temp)

else

if(num%n==

0&&n<=temp)

flag=1;

printf

("%d is a prime number\n"

,num);}

else

if(flag==0)

else

}

以上為乙個剛學c語言不久的小白所做的作業,如有不足請各位大牛多多包容

素數探求(五) 任務6實現

任務6 從鍵盤任意輸入乙個整數m,若m不是素數,則對m進行質因數分解,並將m以質因數從小到大順序排列的乘積形式輸出,否則輸出 it is a prime number 例如,使用者輸入90時,程式輸出90 2335 使用者輸入17時,程式輸出90 2335 使用者輸入17時,程式輸出 it is a...

素數探求(二) 任務3實現

任務3 sqrt m m 的值我們只需要再寫乙個獲取素數之和的方法 getprisum int getprisum int num printf 1到 d的素數之和 d n 1 sum 將鍵盤輸入的數值以引數的形式輸入該函式,因為要獲得1 n之間所有素數之和,所以從3開始判斷乙個數是否是素數,只需呼...

Boost學習摘要 四任務

boost庫在工作 21 任務之一 boost asio io service ioserice 定義乙個任務佇列。ioserice.post boost bind run,10 執行佇列裡的任務。ioserice.post boost bind run,2 ioserice.post boost ...