建質數表,
檢查輸入值是否為質數,
再檢查倒轉過來是否跟原本的值是否不相同且還是質數。
P.S. 這題我因為題意沒看清楚爆了Orz
我沒仔細看到翻轉過來要另外一個質數,而不能跟原來一樣Orz...
可愛的different......
[C](0.036)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<stdio.h> | |
int prime[1000005] = { 1, 1, 0 }; | |
int main() | |
{ | |
int i, j; | |
for( i = 2 ; i <= 1000000 ; i++ ) | |
if( !prime[i] ) | |
for( j = i+i ; j <= 1000000 ; j+=i ) | |
prime[j] = 1; | |
int N; | |
while( scanf( "%d", &N ) != EOF ) | |
{ | |
int N_origin = N; | |
int N_reverse = 0; | |
while( N ) | |
{ | |
N_reverse *= 10; | |
N_reverse += N % 10; | |
N /= 10; | |
} | |
if( prime[N_origin] ) | |
printf( "%d is not prime.\n", N_origin ); | |
else if( prime[N_reverse] || N_origin == N_reverse ) | |
printf( "%d is prime.\n", N_origin ); | |
else | |
printf( "%d is emirp.\n", N_origin ); | |
} | |
return 0; | |
} |
0 意見:
張貼留言