#26461: 可以幫我看看哪裡錯嗎?謝謝!(c)


ck1070031@gl.ck.tp.edu.tw (ck1070031趙唯竣)

學校 : 不指定學校
編號 : 123833
來源 : [111.250.59.182]
最後登入時間 :
2021-09-21 17:25:32
a007. 判斷質數 | From: [111.250.46.164] | 發表日期 : 2021-08-07 18:28

#include<stdio.h>

 

int P(int n){

int i;

if(n<2){

return 0;

}

else if(n<=6){

for(i=2;i*i<n+1;i++){

if(n%i==0){

return 0;

}

else{

return 1;

}

}

}

else if(n>6&&((n-1)%6==0||(n-5)%6==0)){

for(i=2;i*i<n+1;i++){

if(n%i==0){

return 0;

}

else{

return 1;

}

}

}

else{

return 0;

}

}

 

int main(){

int b;

while(scanf("%d",&b)!=EOF){

if(P(b)){

printf("質數\n");

}

else{

printf("非質數\n");

}

}

return 0;

}

 
#26462: Re:可以幫我看看哪裡錯嗎?謝謝!(c)


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
a007. 判斷質數 | From: [27.52.106.160] | 發表日期 : 2021-08-07 20:09

#include

 

int P(int n){

int i;

if(n<2){

return 0;

}

else if(n<=6){

for(i=2;i*i<n+1;i++){

if(n%i==0){

return 0;

}

else{

return 1;

}

}

}

else if(n>6&&((n-1)%6==0||(n-5)%6==0)){

for(i=2;i*i<n+1;i++){

if(n%i==0){

return 0;

}

else{

return 1;

}

}

}

else{

return 0;

}

}

 

int main(){

int b;

while(scanf("%d",&b)!=EOF){

if(P(b)){

printf("質數\n");

}

else{

printf("非質數\n");

}

}

return 0;

}

你的
 else{
     return 1;
 }

讓for迴圈只執行一次就停了

 
ZeroJudge Forum