|
Post by huangno1 on Feb 24, 2017 8:07:13 GMT -8
程式說明
使用者會輸入兩個整數 a, b (0 <= a <= b <= 1,000)。請輸出介於(包含) a 和 b之間的質數有幾個。(輸出時不必管 prime 的單複數,一律用 primes 即可。)
【輸入】
10 15
【輸出】
There are 2 primes in [10, 15].
【輸入】
104 106
【輸出】
There are 0 primes in [104, 106].
***以下為參考程式***(注意!!複製貼上此程式碼,將對你沒好處)
#include <stdio.h>
int main()
{
int a , b , sum = 0;
int i , j;
scanf("%d%d", &a , &b );
if( a >= 2 && b >= 2 )
{
for( i = a ; i <= b ; i++)
{
int flag = 1;
for( j = 2 ; j < i ; j++ )
{
if( ! ( i % j ) ) flag = 0 ;
}
if ( flag ) sum++;
}
printf("There are %d primes in [%d, %d].", sum , a , b);
}
if( a < 2 && b > 2)
{
for( i = a ; i <= b ; i++)
{
int flag = 1;
for( j = 2 ; j < i ; j++ )
{
if( ! ( i % j ) ) flag = 0 ;
}
if ( flag ) sum++;
}
printf("There are %d primes in [%d, %d].", sum - 1 , a , b);
}
if( b == 2 && a < 2 )
{
sum = 1;
printf("There are %d primes in [%d, %d].", sum , a , b);
}
if( a <= 1 && b <= 1 )
{
sum = 0;
printf("There are %d primes in [%d, %d].", sum , a , b);
}
return 0;
}
|
|