C语言实验——判断素数(循环结构)(Java版)

版权声明:版权问题请加微信:17165380098 备注 版权问题 https://blog.csdn.net/qq_30277453/article/details/82857088

Problem Description

从键盘上输入任意一个正整数,然后判断该数是否为素数。
如果是素数则输出"This is a prime."
否则输出“This is not a prime.”

Input

输入任意一个正整数n(1 <= n <= 1000000)。

Output

判断n是否为素数,并输出判断结果:
如果n是素数则输出"This is a prime."
否则输出“This is not a prime.”

特别提醒:请注意对1的判定,1不是素数。

Sample Input

3

Sample Output

This is a prime.

AC的代码:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n;
        n = in.nextInt();
        int i,f=1;
        if (n == 1)
            System.out.println("This is not a prime.");
        else if(n==2)
            System.out.println("This is a prime.");
        else {
          for(i=2;i<n;i++){
             if(n%i==0){
               f = 0;
             }
          }
          if(f == 0)System.out.println("This is not a prime.");
          else System.out.println("This is a prime.");
        }
    }
}

代码结果一样但是OLE(超时)的结果:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n;
        n = in.nextInt();
        int i;
        if (n == 1)
            System.out.println("This is not a prime.");
        else if(n==2)
            System.out.println("This is a prime.");
        else {
          for(i=2;i<n;i++){
             if(n%i==0){
               System.out.println("This is not a prime.");
               break;
             }
            else{
                System.out.println("This is a prime.");
            }
          }
        }
    }
}

相同结果,但是代码不同导致题结果不同。根据两者的对比,可得出结果:标志符标记可以节省代码运算时间

猜你喜欢

转载自blog.csdn.net/qq_30277453/article/details/82857088