×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
#7768: 輸出短少
max8783890
(HelloWorld)
學校 : 國立臺北科技大學
編號 : 32398
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [219.91.10.219]
最後登入時間 :
2021-09-27 23:33:59
a121.
質數又來囉
| From: [1.172.96.25] | 發表日期 : 2013-05-20 22:01
求大大解題~~
WA
(line:2)
輸出短少
您共輸出 1 行。
-----------------以下為程式碼------------------------
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
long int a,b,c,i;
int j,k=0;
scanf("%ld%ld",&a,&b);
for(i=a;i<=b;i++)
{
c = 0;
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
c = c + 1;
}
if(c==0||i==2)
{
k= k + 1 ;
}
}
printf("%d",k);
return 0;
}
#7774: Re:輸出短少
akira0331
(小迷糊)
學校 : 不指定學校
編號 : 26613
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [203.70.194.240]
最後登入時間 :
2013-07-29 09:30:29
a121.
質數又來囉
| From: [203.70.194.240] | 發表日期 : 2013-05-21 09:53
求大大解題~~
WA
(line:2)
輸出短少
您共輸出 1 行。
-----------------以下為程式碼------------------------
#include
#include
#include
int main()
{
long int a,b,c,i;
int j,k=0;
scanf("%ld%ld",&a,&b);
for(i=a;i<=b;i++)
{
c = 0;
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
c = c + 1;
}
if(c==0||i==2)
{
k= k + 1 ;
}
}
printf("%d",k);
return 0;
}
測資有多組輸入,要加while做重覆讀取輸入
#7775: Re:輸出短少
max8783890
(HelloWorld)
學校 : 國立臺北科技大學
編號 : 32398
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [219.91.10.219]
最後登入時間 :
2021-09-27 23:33:59
a121.
質數又來囉
| From: [118.171.45.237] | 發表日期 : 2013-05-21 19:47
解決了 但是變成TLE 3s
--------------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
long int a,b,c,i;
int j,k=0;
while(scanf("%ld%ld",&a,&b))
{
for(i=a;i<=b;i++)
{
c = 0;
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
c = c + 1;
}
if(i == 1);
else if(c==0||i==2)
{
k= k + 1 ;
}
}
printf("%d\n",k);
k = 0;
}
return 0;
}
#7780: Re:輸出短少
akira0331
(小迷糊)
學校 : 不指定學校
編號 : 26613
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [203.70.194.240]
最後登入時間 :
2013-07-29 09:30:29
a121.
質數又來囉
| From: [203.70.194.240] | 發表日期 : 2013-05-22 11:27
解決了 但是變成TLE 3s
--------------------------------------------
#include
#include
#include
int main()
{
long int a,b,c,i;
int j,k=0;
while(scanf("%ld%ld",&a,&b))
{
for(i=a;i<=b;i++)
{
c = 0;
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
c = c + 1;
}
if(i == 1);
else if(c==0||i==2)
{
k= k + 1 ;
}
}
printf("%d\n",k);
k = 0;
}
return 0;
}
建議修改 if(i%j==0) { c = c + 1; beak; }
因為確定 i 不是質數後,就不需要再跑廻圈
ZeroJudge Forum