怎么用C语言写出判断素数的程序

怎么用C语言写出判断素数的程序,第1张

1、写我们的头文件和主函数。写好我们的开头。

2、编写定义变量,我们语言定义一个i来用于后面的for循环。

3、我们输入一个数,在那之前我们要有一个printf()提示一下。

4、利用for循环看一看从2到n-1是否能被n整除,如果能就要break。

5、判断素数,如果程序正常结束,就i>=n,说明他就是素数。

6、如果通过break结束,他就会i<n,所以他就不是素数。

7、输出最后结果。

在程序的开头加入#include<mathh>

下面是fun函数:

int fun(int mm,int b[MAX])

{

int i,mmm,n=0;

for(mmm=2;mmm<=mm;mmm++)

{

for(i=2;i<=sqrt(mmm);i++)

if(mmm%i==0) break;

if(i>sqrt(mmm))

{

b[n]=mmm;

n+=1;

}

}

return n;

}

分析:

如果mm<=1,外循环不启动,直接返回n,此时n=0

如果mm=2,外循环启动,内循环i<=sqrt(mmm)的条件不满足,不启动,内循环下面的判断条件满足,于是让b[n]=mmm,n+=1,即找到一个符合条件的素数,此时b[n]既b[0]=2,然后n+=1,表示符合条件的素数的个数加1

同样,当mm=3的时候,内循环由于条件不满足,是不会执行的,但是在内循环下面的条件判断都满足,所以会把结果保存在n和b[n]里面,这时,外循环要执行2次

当mm>3时,内循环也会启动,但是要等内循环结束之后i的值满足条件的才是素数,程序的可靠信完全可以放心

刚刚又重新分析了一遍代码,稍微改了改,没问题了

一个质数。在大于1的自然数中,除1和100整数本身外,不能被任何其他自然数整除的次数。素数在数论中起着重要的作用。

大于1但没有质数通道的数称为合数。1和0既不是质数也不是合数。

通过滤波法得到的100以内质数的源代码如下:

#include"stdio.h"

main()

main()

IntI,j。

对于(I = 2;我< 99;我+ +)

对于(j = 2;<我;J + +)

If(I%j==0)

打破;

如果(j==I-1)

Printf(“%4d”,I);

扩展资料:

100以内的数字代码如下

包含< bits/stdc++。H >

使用命名空间性病。

Intthesum(Intn)

返回(n/10+n%10%)+(10)(n/10%*(n%10));

Intmain(){

Intn=100;

For (int I = 10;I < = n;我+ +)

If (sum (I) = = I) cout < < I < < endl;

返回0;

#include<stdioh>

int main()

{

int i,j,k=0;

for(i=2;i<10000;i++)

{

for(j=2;jj<=i;j++)

if(i%j==0)

break;

if(jj>i)

{

printf("%d  ",i);

k++;

if(k%10==0)

printf("\n");

}

}

}

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include&lt;文件名&gt;

2、#include"文件名"

#include<stdioh>

int prime(int n)//求素数过程,是返回1,不是返回0

{

for(int i=2;i<int(n);i++)

if (n%i==0)return 0;

return 1;

}

void main()

{

int i=0;

for(int j=2;j<100;j++)

if(prime(j)==1){printf("%d\t",j) ;i++;}

}

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

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

public void findPrimeNumber(){

存放素数集合

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

遍历2-100

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

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

boolean flag=true;

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

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

if(x%y==0){

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

flag=false;

break;

}

}

if(flag){

flag还是true,则是素数

listsadd(x);

}

}

Systemoutprintln("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<stdioh> int isprime(int n){ int i; if(n<=1)return 0; for(i=2;i<=n/2;i++){ if(n%i==0)return 0; } return 1; } main() { int i; for(i=1;i<=100;i++) { if(isprime(i)) printf("%d \n",i); } }

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

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

#include "stdioh"

void main()

{

int i,temp,j;

long sum=0;

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

{

temp=0;

for(j=2;j<i;j++)

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 <stdioh>#include <mathh>int primer(int min, int max){ int j,k,i; int sum = 0; for(i = min + 1;i <= max; i += 2) { k = sqrt(i); for(j = 2;j <= k;j++) { 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 ^ 05

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>();

list1Add(2);2是质数,先加它

bool b;

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

{

b = true;

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

{

if (i % j == 0)

{

b = false;

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

}

}

if (b) list1Add(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

list1additem i

end if

next

next

end sub

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

int i;

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

{

if(n%i==0)

return false;

}

return true;

}

main()

{

int i,count=0;

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

{

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 = 2; k <= 50; k++) {

yes = true;

i = 2;

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

if (k % i == 0)

yes = false;

i++;

}

if (yes)

Systemoutprint(k + " ");

}

}

以上就是关于怎么用C语言写出判断素数的程序全部的内容,包括:怎么用C语言写出判断素数的程序、C语言程序设计求素数、c语言中用筛选法求素数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10641194.html

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

发表评论

登录后才能评论

评论列表(0条)

保存