从键盘输入一个整数,判断该数字是否为素数
时间: 2023-05-15 08:07:13 浏览: 87
以下是C知道的回答:
可以使用以下代码来判断一个整数是否为素数:
```c
#include <stdio.h>
int main() {
int n, i, flag = 0;
printf("请输入一个整数:");
scanf("%d", &n);
for (i = 2; i <= n / 2; ++i) {
// 如果 n 能被 i 整除,则 n 不是素数
if (n % i == 0) {
flag = 1;
break;
}
}
if (flag == 0)
printf("%d 是素数", n);
else
printf("%d 不是素数", n);
return 0;
}
```
这段代码会从键盘输入一个整数,然后使用 for 循环从 2 到 n/2 判断该数字是否能被整除。如果能被整除,则该数字不是素数,否则是素数。
相关问题
由键盘输入一个整数,判断它是不是质数 C语言
以下是判断一个整数是否为质数的C语言代码:
```c
#include <stdio.h>
int main() {
int num, i, flag = 0;
printf("请输入一个整数:");
scanf("%d", &num);
// 判断从2到num-1是否有因子
for(i = 2; i <= num/2; ++i) {
if(num % i == 0) {
flag = 1;
break;
}
}
if (flag == 0)
printf("%d是质数", num);
else
printf("%d不是质数", num);
return 0;
}
```
代码的思路是从2到num-1遍历所有数字,判断是否是num的因子。如果找到了一个因子,那么num就不是质数。如果遍历完所有数字都没有找到因子,那么num就是质数。
Java从键盘输入一个数判断是否为素数
可以使用以下Java代码判断输入的数字是否为素数:
```java
import java.util.Scanner;
public class PrimeNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int num = scanner.nextInt();
boolean isPrime = true;
if (num <= 1) {
isPrime = false;
} else {
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
}
if (isPrime) {
System.out.println(num + "是素数");
} else {
System.out.println(num + "不是素数");
}
}
}
```
该程序首先从键盘读取一个正整数,然后判断该数是否小于或等于1,如果是,则该数不是素数。否则,使用一个循环遍历从2到该数的平方根之间的所有数字,判断是否能够整除该数。如果存在一个能够整除该数的数字,那么该数就不是素数。如果遍历结束仍然没有找到一个能够整除该数的数字,那么该数就是素数。