用 java 怎么判断一个数是否为质数?

用 java 怎么判断一个数是否为质数?,第1张

质数: 

public static boolean isPrime(int N){if( N <2 ) return false

for( int i = 2 i*i <= Ni++){if( N % i == 0) return falsereturn true}

JAVA 编程方法:

public static void main(String[] args) {// TODO Auto-generated method stub

Scanner input = new Scanner(System.in)for(int i=0i<100i++){

System.out.print("请输入数字:")int num1 = input.nextInt()if(num1==2||num1==3){

System.out.println(num1+"是质数")}else if(num1%2!=0&&(num1+1)%2==0){

System.out.println(num1+"是质数")}else{System.out.println(num1+"不是质数")

编写java程序找出2-100之间的所有素数 求大神 素数又称质数,有无限个。素数定义为在大于1的整数中,除了1和它本身以外不再有其他因数的数称为素数。

java程序找出2-100之间的所有素数,代码如下:

public void findPrimeNumber(){

存放素数集合

List<Integer>lists=new ArrayList<Integer>()

遍历2-100

for(int x=2x<100x++){

标志是否为素数,默认是true

boolean flag=true

循环x除以(x/2)的数,能整除则不是是素数(不包含2)

for(int y=2y<x/2y++){

if(x%y==0){

能整除,则把标志设置为false,不是素数

flag=false

break

}

}

if(flag){

flag还是true,则是素数

lists.add(x)

}

}

System.out.println("2-100的素数集合:"+lists)

}

结果:

2-100的素数集合:[2, 3, 4, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

求1到100之间的所有素数。求程序

#include<stdio.h>int isprime(int n){ int iif(n<=1)return 0for(i=2i<=n/2i++){ if(n%i==0)return 0} return 1} main() { int ifor(i=1i<=100i++) { if(isprime(i)) printf("%d \n",i)} }

编一个程序题:100~500之间的所有素数,

给你搞来一份C的,但是是求和的,如果你是学C的,应该会改吧

#include "stdio.h"

void main()

{

int i,temp,j

long sum=0

for(i=100i<500i++)

{

temp=0

for(j=2j<ij++)

if(i%j==0)

temp++

if(temp==0)

sum+=i

}

printf("%ld",sum)

}

下面的是pascal的

var

i,j:longint

b:boolean

begin

for i:=100 to 500 do

begin

for j:=2 to trunc(sqrt(i)) do

begin

b:=true

if i mod j=0

then begin

b:=false

break

end

end

if b then writeln(i)

end

end.

找出100到200之间的所有素数并求和

#include <stdio.h>#include <math.h>int primer(int min, int max){ int j,k,i int sum = 0 for(i = min + 1i <= maxi += 2) { k = sqrt(i) for(j = 2j <= kj++) { if(i % j ==0)break } if(j >= k + 1) { printf("%d ",i) sum += i } } return sum}int main(){ int min = 100, max = 200 int sum = 0 sum = primer(min, max) printf("sum:%d\n", sum) return 0}

vb 编写程序求出100-200间的所有素数

Sub test()

Dim i As Integer

Dim j As Integer

Dim m As Boolean

For i = 100 To 200

m = True

For j = 2 To i ^ 0.5

If i Mod j = 0 Then

m = False

Exit For

End If

Next j

If m Then Print i

Next i

End Sub

vb编写程序找出3~100间所有素数并输出窗体

Private Sub form_click()

Dim N As Integer

Dim I As Integer

Dim J As Integer

Dim S As Boolean

N = 0

For I = 3 To 100

S = True

For J = 2 To Sqr(I)

If I Mod J = 0 Then

S = False

Exit For

End If

Next

If S Then

Print Format(I, " 0# ")

N = N + 1

If N Mod 10 = 0 Then Print

End If

Next

Print

Print "从3-100之间共有以上"N"个素数"

End Sub

C#编写程序,找出1---100之间的所有质数

List<int>list1 = new List<int>()

list1.Add(2)2是质数,先加它

bool b

for (int i = 3i <100i += 2)偶数的不用比较了

{

b = true

for (int j = i - 1j >1j--)

{

if (i % j == 0)

{

b = false

break有一个能整除的就不再试其它了

}

}

if (b) list1.Add(i)是质数则添加到列表中

}

这样,list1中的所有数就是你想要的数了

编写VB程序,将500到1000之间的所有素数输出到列表框

private sub mand1_click()

for i = 500 to 1000

for j = 2 to fix(sqr(i))

if i mod j = 0 then

exit for

elseif i mod j <>0 and j = fix(sqr(i)) then

list1.additem i

end if

next

next

end sub

编程:输出3 ~ 100之间的所有素数?

int i

for(i=2i<n/2+1i++)

{

if(n%i==0)

return false

}

return true

}

main()

{

int i,count=0

for(i=100i<=300i++)

{

if(IsPrime(i))

{

cout<<i

count++

if(count%5==0)

cout<<"\n"

else

cout<<" "

}

}

}

编写一个java程序,用穷举法找出2~50之间的素数,并打印出来.

public static void main(String[] args) {

int i, k

boolean yes

for (k = 2k <= 50k++) {

yes = true

i = 2

while (i <= k - 1 &&yes) {

if (k % i == 0)

yes = false

i++

}

if (yes)

System.out.print(k + " ")

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12174154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存