怎样用电脑编程来判断一个数是否是质数?
- 提问者网友:我是我
- 2021-07-29 18:18
- 五星知识达人网友:佘樂
- 2021-07-29 19:17
n 为要验证的数
For i = 2 To Int(Sqr(n))
'从2开始,到根号n(取整数)循环
I f n Mod i = 0 Then Exit For
’如果i除n的余数为0,则退出循环
Next i
If i > Int(Sqr(n)) Then
'如果i>根号n(取整数),说明没有提前退出循环
Print n & 不是素数;
'打印:
End If
给你一个Java的例子,希望有用
//质数(又称为素数)就是在所有比1大的整数中,除了1和它本身以外,不再有别的约数,这种整数叫做质数或素数。
class Test
{
public static void main(String args[])
{
System.out.print("请输入数字:");
java.util.Scanner input = new java.util.Scanner(System.in);
int num1 = input.nextInt();
int x = 0;
for(int i=2;i<num1;i++)
{
if(num1 % i == 0)
{
x=1;
break;
}
}
if(x==1)
{
System.out.println("您输入的数字:" + num1 +"是质数。");
}
else
{
System.out.println("您输入的数字:" + num1 + "不是是质数!!");
}
return;
}
}
- 1楼网友:独钓一江月
- 2021-07-29 22:43
public class Sushu {
public static void main(String[] args) { // TODO Auto-generated method stub int s = 19; int x=0;
for (int n = 2; n < s; n++) { if (s % n == 0) { x=1; }
} if(x==1){ System.out.print("不是素数"+s); }else{ System.out.print("是素数"+s); }
}
}
- 2楼网友:渊鱼
- 2021-07-29 22:29
这个算法的意思大概就是
从2开始除这个数
一旦可以被他整除遍返回并输出不是素数
如果不能继续除 直到除到n开根号为止
因为小数都除过了 后面的大数就没必要再除了
如果循环到这 依然还不能被整除
说明这个数是素数 并输出提示
如果你对我的回答满意 请选为满意答案
#include<iostream.h> #include<math.h> void main() { int n,i; cout<<"输入一个整数:"; cin>>n; for(i=2;i<sqrt(n);i++) if(n%i==0) { cout<<"该数不是素数"<<endl; return; } cout<<"该数是素数"<<endl; }
- 3楼网友:夜风逐马
- 2021-07-29 20:54