1159 - C语言6.7

通过次数

0

提交次数

0

时间限制 : 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"