(1) 寫一個function,其prototype為 int is_prime(int n), 若n為prime(質數),則return 1,否則return 0。
[說明] 一個正整數如果只能被1和自己整除, 而不能被其他正整數整除者,稱之為質數。
(2) 寫一個程式,輸入一個正整數,而程式判斷 其是否為質數,若是則印出訊息; 若不是,則程式計算其所有質因數,並印出相乘積。 如下範例:
[範例一l
Please input a positive integer? 700
700 = 2 * 2 * 5 * 5 * 7
[範例二l
Please input a positive integer? 23
23 is a prime number.
2007-11-07 13:38:02 · 1 個解答 · 發問者 享聽享看 7 in 電腦與網際網路 ➔ 程式設計
#include
#include
#include
int is_prime(int n){//Check number
int i,retBoolean=1;
//1 is True, 0 is False
for(i=2;i<=(int)sqrt(n);i++){
if((n%i)==0){
retBoolean=0;//false
break;
}
}
return retBoolean;//return boolean value
}
int main(int argc, char* argv[]){
//=====START=====//
int num,i,tmp;
printf("Please input a positive integer?"),scanf("%d",&num);
if(is_prime(num)){
printf("%d is a prime number.",num);
}else{
printf("%d=",num);
for(i=2,tmp=num;tmp!=1;i++){
if(is_prime(i)){
while(!(tmp%i)){
tmp/=i,printf("%d*",i);
}
}
}
printf("\b%s\n"," ");
}
//=====END=====//
system("PAUSE");
return 0;
}
2007-11-07 14:46:23 · answer #1 · answered by Big_John-tw 7 · 0⤊ 0⤋