(PTA)判断斐波那契数列前50项是否为素数
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n < 3) System.out.print("false");
else {
long ans = 0L;//五十项的范围,超出int
long ans2 = 0L;
long a[] = new long[1005];
a[1] = 1;
a[2] = 1;
for (int i = 3; i <= n; i++) {
a[i] = a[i - 1] + a[i - 2];
}
for (long i = 2L; i < Math.sqrt(a[n]); i++) { //考虑时间复杂度
if (a[n] % i != 0) ans++;
ans2++;
}
if (ans == ans2) System.out.println("true");
else System.out.println("false");
}
}
}
判断质数
- 除2以外的素数都是奇数
//有点问题,要讨论2
import java.util.Scanner;
public class JavaFive {
private static double sqrt;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int ans = 0;
int number = sc.nextInt();
int i;
for (i = 2; i < Math.sqrt(number); i++) {
if(number % i == 0 ) System.out.println("no");
else ans++;
}
if(ans == i - 2) System.out.println("yes");
}
}
利用flag