sicily 6374. 素数
Description
数学上,素数(又称质数)指的是一个大于1的自然数,除了1和此整数自身外,没法被其他自然数整除的数。即素数只有两个正因数:1和自身。2是第一个素数。
设计一个判别素数的函数,在主函数中输入一个整数n(n>0),调用这个判别函数,并输出是否为素数的信息(“** is a prime.”, or “** is not a prime.”)。
Input
每个case输入一个数n,当输入为-1时,结束。
Output
每次case输出一句话:
当n为素数是,输出n is a prime.
反之,输出:n is not a prime.
最简单的题最后才AC……直到有人跑来问我才意识到1不是素数,审题不仔细啊汗
思路很简单,枚举求余,只要在2~n-1之间有一个数能整除n,就返回不是素数的判断信息
View Code
1 #include<stdio.h> 2 int prime( int n ); 3 4 int main() 5 { 6 int n; 7 8 while ( scanf( "%d", &n ) && n != -1 ) 9 { 10 if ( prime(n) == 1 ) 11 { 12 printf( "%d is a prime.\n", n ); 13 } 14 else 15 { 16 printf( "%d is not a prime.\n", n ); 17 } 18 } 19 20 return 0; 21 } 22 23 int prime( int n ) 24 { 25 int i; 26 27 if ( n == 1 ) 28 { 29 return 0; 30 } 31 32 for ( i = 2; i < n; i++ ) 33 { 34 if ( n % i == 0 ) 35 { 36 return 0; 37 } 38 } 39 40 return 1; 41 }