×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
#7393: TLE應該是大家最主要的問題吧...能幫我看看怎麼解決嗎
ooxx6513
(fish)
學校 : 輔仁大學
編號 : 30025
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [111.241.148.161]
最後登入時間 :
2019-09-27 15:23:53
a121.
質數又來囉
| From: [114.44.178.143] | 發表日期 : 2013-01-12 16:39
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void){
int a,b,i,j;
while(scanf("%d %d",&a,&b)!=EOF){
int m=0;
if(a==1 || a==2){
a++;
m++;
if(b==1)
m--;
}
if(a%2==0)
a++;
for(i=a;i<=b;i=i+2){
int temp=0;
for(j=1;j<=sqrt(i);j++){
if(i%j==0)
temp++;
}
if(temp==1){
m++;
}
}
printf("%d\n",m);
}
}
#7395: Re:TLE應該是大家最主要的問題吧...能幫我看看怎麼解決嗎
akira0331
(小迷糊)
學校 : 不指定學校
編號 : 26613
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [203.70.194.240]
最後登入時間 :
2013-07-29 09:30:29
a121.
質數又來囉
| From: [203.70.194.240] | 發表日期 : 2013-01-15 10:07
#include
#include
#include
int main(void){
int a,b,i,j;
while(scanf("%d %d",&a,&b)!=EOF){
int m=0;
if(a==1 || a==2){
a++;
m++;
if(b==1)
m--;
}
if(a%2==0)
a++;
for(i=a;i<=b;i=i+2){
int temp=0;
for(j=1;j<=sqrt(i);j++){
if(i%j==0)
temp++;
}
if(temp==1){
m++;
}
}
printf("%d\n",m);
}
}
給你幾建議,用2個for迴圈太耗時了,改用一個應該就能過
另外找質數的for迴圈裡,1 不是質數所以不用掃,另外偶數裡除了2是質數,其它的都不是
只做奇數是不是又更快了
ZeroJudge Forum