1159 - C语言6.7
时间限制 : 1 秒
内存限制 : 32 MB
判断一个数是否是素数。
题目输入
一个大于1且小于100000000的整数m。
题目输出
如果m是素数,输出“prime”,否则请输出“not prime”。
请注意不需要输出引号,行尾输出换行。
输入/输出样例
输入格式
10000019
输出格式
prime
C语言解答
#include<stdio.h> #include<math.h> int main(){ int i,j,n; scanf("%d",&i); n=sqrt(i); for (j=2;j<=n;j++) if(i%j==0) break; if(j>n) printf("prime\n"); else printf("not prime\n"); return 0; }
C++解答
#include <stdio.h> #include <math.h> int main() { int i, m, prime; scanf("%d", &m); prime = 1; for (i = 2;i * i <= m;i++) { if (m % i == 0) { prime = 0; break; } } if (prime == 1) printf("prime\n"); else printf("not prime\n"); return 0; }
Java解答
//1196:C语言6.7 import java.util.*; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); int i = cin.nextInt(); boolean flag = true; if(i%2==0) flag = false; else { for(int j=3;j<=Math.sqrt((double)i);j+=2){ if(i%j==0){ flag = false; break; } } } if(flag) System.out.println("prime"); else System.out.println("not prime"); } }
Python解答
def isprime(n): if n == 1: return False for x in xrange(2, int(n**0.5)+1): if n%x == 0: return False return True if isprime(input()): print "prime" else: print "not prime"