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

2021-09-17 18:42:16 字數 1315 閱讀 9972

任務3:\sqrt m

m​的值我們只需要再寫乙個獲取素數之和的方法:getprisum();

int

getprisum

(int num)

printf

("1到%d的素數之和=%d"

,n-1

,sum)

;}

將鍵盤輸入的數值以引數的形式輸入該函式,因為要獲得1~n之間所有素數之和,所以從3開始判斷乙個數是否是素數,只需呼叫之前寫好的gettemp函式和isprime函式,但是要獲取這乙個素數的值,所以要修改isprime方法的返回值。然後再將素數返回值求和。

以isprime1為例

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

}

只需在isprime()函式中加入乙個flag標誌變數。如果是素數則標誌變數變為1 否則為0;然後再函式末加入if語句,判斷flag的值從而實現返回值的不同。

最後再在main函式中呼叫

int

getprisum

(int num)

;int

gettemp

(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)

;}

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

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

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

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

任務5 請編寫乙個判斷完全數的函式isperfect 然後判斷從鍵盤輸入的整數是否是完全數 int isperfect int num n if divsum num else else 第一步 按照任務4的思路,先判斷鍵盤輸入的數是否素數,顯然素數不是完全數。第二步 再用while語句獲得該數 除...

(二)任務堆疊

任務堆疊的建立 1 為了方便定義任務堆疊,在檔案os cpu.h中定義了乙個資料型別os stk typedef unsigned int os stk 該型別長度為16位 2 在定義任務堆疊的棧區時,只要定義乙個os stk型別的陣列即可。例如 define task stk size 512 定...