#10066: 超時阿!!!


alan8656 (阿伯)

學校 : 國立成功大學
編號 : 31064
來源 : [36.230.156.51]
最後登入時間 :
2024-08-04 19:15:29
a007. 判斷質數 | From: [220.132.200.126] | 發表日期 : 2015-07-21 20:26

#include<stdio.h>
#include<stdlib.h>
int main(){
int x,i,j,t; 
    while( scanf("%d",&x)!=EOF ){
t=0,i=2;
while(i*i<x)i++;
for(j=2;j<=i;j++){
if(x%j==0)t=1;
}
if(t||x==1&&x!=2)printf("非");
printf("質數\n");
return 0;
}
我覺得我已經簡化到不能再簡化了  誰能幫幫我>< 
 
#10067: Re:超時阿!!!


alan8656 (阿伯)

學校 : 國立成功大學
編號 : 31064
來源 : [36.230.156.51]
最後登入時間 :
2024-08-04 19:15:29
a007. 判斷質數 | From: [220.132.200.126] | 發表日期 : 2015-07-21 21:09

#include
#include
int main(){
int x,i,j,t; 
    while( scanf("%d",&x)!=EOF ){
t=0,i=2;
while(i*i
for(j=2;j<=i;j++){
if(x%j==0)t=1;
}
if((t||x==1)&&x!=2)printf("非");
printf("質數\n");
return 0;
}
剛剛有點小出錯   這樣應該沒錯了  可是還是超時!!!


 
#10221: Re:超時阿!!!


dakaizou (ntjcpa)

學校 : 政治大學
編號 : 30597
來源 : [36.226.103.25]
最後登入時間 :
2016-12-22 23:35:18
a007. 判斷質數 | From: [114.45.225.110] | 發表日期 : 2015-09-09 17:24

#include
#include
int main(){
int x,i,j,t; 
    while( scanf("%d",&x)!=EOF ){
t=0,i=2;
while(i*i
for(j=2;j<=i;j++){
if(x%j==0)t=1;
}
if((t||x==1)&&x!=2)printf("非");
printf("質數\n");
return 0;
}
剛剛有點小出錯   這樣應該沒錯了  可是還是超時!!!


不是程式碼越短就越快的,重點是要想辦法簡化電腦處理的東西(那20萬筆資料,跟判斷每一筆資料是不是質數)


 
ZeroJudge Forum