用C语言编1到100之间的素数程序

用C语言编1到100之间的素数程序,第1张

程序及解释如下:

首先判断素数的算法:用一个数分别去除以2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。

则有如下程序

{ int m,k,i;

for(m=1;m<=100;m=m+2)      //m=m+2,因为偶数都不是素数,不用考虑,所以每次m+2

{ k=sqrt(m)                            //先求这个数的平方跟

for(i=2;i<=k;i++)                    //然后用i(从2到k,即m的平方跟)去除m,

if(m%i==0) break;                 //如果能被整除, 则不是素数,break

if(i>=k+1) pritnf("%d",m);    //如果i>k+1,则说明没有数能整除m则m是素数

}

}

扩展资料:

素数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。

在汽车变速箱齿轮的设计上,相邻的两个大小齿轮齿数设计成质数,以增加两齿轮内两个相同的齿相遇啮合次数的最小公倍数,可增强耐用度减少故障。

在害虫的生物生长周期与杀虫剂使用之间的关系上,杀虫剂的质数次数的使用也得到了证明。实验表明,质数次数地使用杀虫剂是最合理的:都是使用在害虫繁殖的高潮期,而且害虫很难产生抗药性。

以质数形式无规律变化的导d和鱼雷可以使敌人不易拦截。

多数生物的生命周期也是质数(单位为年),这样可以最大程度地减少碰见天敌的机会。

参考资料:

百度百科 素数

#include<stdioh>

//输出100之内的所有素数

int main()

{

int i;

int j;

int flag = 1;

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

{

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

{

if(i % j ==0)

{

flag = 0;

break;

}

}

if(flag == 1)

{

printf("%d\n",i);

}

flag = 1;

}

return 0;

}

C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言;

质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。

C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的 *** 作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。

素数。在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。

用筛选法求100以内的素数的源代码如下

#include "stdioh"

#include "stdlibh"

main()

{

int i,j;

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

{

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

{

if(i%j==0)

{

break;

}

if(j==i-1)

{

printf("%4d",i);

}

扩展资料

求100以内的巧数的源代码如下

#include<bits/stdc++h>

using namespace std;

int sum(int n)

{

return (n/10%10+n%10)+((n/10%10)(n%10));

}

int main(){

int n=100;

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

{

if(sum(i)==i) cout<<i<<endl;

}

return 0;

}

void main()

{

int n,i;

for(n=2;n<=100;n++)

{

for(i=2;i if(n%i==0) break;

/此句有错,应为 for(i=2;i++;i<=n) if(n%i==0) break; /

if(i>=n) printf("\t%d",n);

/如果i>=n那么n只能被1和自身整除,n是素数 ,输出n /

}

}

/下面的删了/

int n,i;

for(n=2;n<=100;n++)

{

for(i=2;i

if(n%i==0) break;

if(i>=n)

printf("\t%d",n);

}

主要考察素数的概念和判断方法。

素数:指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。

素数判断:将该数N用小于等于根号N的所有素数去试除,若均无法整除,N则为素数。

参考代码:

#include<stdioh>

#include<mathh>

int main()

{

    int a,b,c;

    printf("2\n");//2是素数,不能利用上面的规则求出需要另外输出。

    for(a=2;a<=100;a++)

    {

        c = (int)sqrt(a);//计算平方数,取整

        for(b=2;b<=c;b++)//依次判断

            if(a%b==0) break;

        if(b>c) printf("%d\n",a);//输出素数

    }

    return 0;

}

可以使用筛法来判断 1-100 之间有多少个素数,并输出所有素数。筛法是一种通过枚举合数的因子来筛选出素数的方法。

下面是用 C 语言实现的代码示例:

#include <stdioh>

#include <stdboolh>

#define N 100

int main(void)

{

// 创建一个 bool 类型的数组,用来存储每个数是否为素数

bool prime[N + 1];

// 初始化数组,假设所有数都是素数

for (int i = 0; i <= N; i++)

prime[i] = true;

// 使用筛法筛选出素数

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

{

// 如果 i 不是素数,则跳过

if (!prime[i])

continue;

// 输出 i

printf("%d ", i);

// 将 i 的倍数标记为合数

for (int j = i i; j <= N; j += i)

prime[j] = false;

}

return 0;

}

运行结果如下:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

在这个程序中,使用了一个 bool 类型的数组来存储每个数是否为素数。使用筛法筛选出 1-100 之间的素数,并输出每个素数。

需要注意的是,C 语言没有内置的 bool 类型,需要使用头文件 stdboolh 来支持 bool 类型。在上面的代码中,需要包含头文件 stdioh 和 stdboolh。

以上就是关于用C语言编1到100之间的素数程序全部的内容,包括:用C语言编1到100之间的素数程序、c语言求100以内的素数、C语言程序设计题:用筛选法求100以内的素数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存