输出素数c语言
Ⅰ 用c语言写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。
输出是否素数的信息的源代码如下:
#include <stdio.h>
#include <stdbool.h>
bool prime(int x){
if (2 > x ) {
returnfalse;
}
for (int i = 2; i < x ; i++) {
if (0 == x % i ) {
return false;
}
}
returntrue;
}
int main(){
for (int i = 2; i < 100; i++) {
if (prime(i)) {
printf("%d ",i);
}
}
printf(" ");
return 0;
}
(1)输出素数c语言扩展阅读
1、函数的使用可以身故重复代码的编写。
2、函数使得程序更加模块化,有利于程序的阅读修改和完善。
3、素数就是没有因子的数,只能被1和本身整除,所以我们就可以用循环解决,循环用于从2到他的根式判定是否有其他数可以整除它,有就跳出循环。
Ⅱ c语言编写程序,输出1000内的所有素数, 每行显示10个数
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*****************************************************************
*本程序用来计算1000内质数有哪些及一共有哪些。
*
*知识点:什么是质数?及只能被本身和1整除的整数。
*
*时间:2018.10.22
*****************************************************************/
int main(void)
{
int i,j,result = 0,sum = 0; //i-循环变量和被判断数 j-循环变量和判断数 result-验证是否为质数的返回值 sum-质数总量计数
for (i = 2;i <= 1000;i++) //第一个循环用来取出被判断数 从2开始到1000
{
for (j = 2; j <= sqrt(i) + 1;j++) //第二个循环是用来判断这个数是否为质数并返回,从2开始至被判断数开根后+1. sqrt(i)后面不+1 会把质数2 3丢掉
{
if (i%j == 0 && i != j) //如果被判断数用2-被判断数来取余,如果余数为0 且不是被自已整除那么这个数一定不是质量直接返回
{
result = 0; //判断出是质数后返回前必须给返回值赋0值,0代表非质数 1代表质数
break;
}
result = 1;
}
if (result == 1) //如果此数为质数 质数总量+1后并打印 把result返回值初始化准备下一个循环判断。
{
sum++;
printf("第%d个质数:%d \n",sum,i);
result = 0;
}
}
return 0;
}
Ⅲ C语言 输出1到100之间的全部素数
有三种方法:
1、输出1-100以内的素数:
(3)输出素数c语言扩展阅读:
在这个小程序中主要用到的是for循环
for 循环语句的一般形式为:
for (表达式1; 表达式2; 表达式3)
{
语句;
}
需要注意的两点:
1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。
2)for(表达式1;表达式2;表达式3)的后面千万局告不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。
因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了。
Ⅳ c语言 调用函数,输出100到200之间的所有素数
素数是只有1和自身才能整除的数。调用自定义的函数prime,对100~200间的奇数进行判断,是素数则输出。举例代码如下:
#include"stdio.h"
intprime(intn){//判断100~200间的数是否为素数
inti;
if(!(n&1))
return0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return0;
return1;
}
intmain(intargc,char*argv[]){
intn;
for(n=101;n<200;n+=2)
if(prime(n))//调用prime判断n是否为素数
printf("%4d",n);//是则输出n
printf(" ");
return0;
}
Ⅳ 用c语言:输出在1~100内的所有素数
#include<stdio.h>
#include<math.h>
intmain()
{
intn;
inti;
intflag=0;
for(n=2;n<=100;n++)
{
flag=0;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
flag=1;
break;
}
}
if(flag==0)
printf("%d",n);
}
return0;
}
(5)输出素数c语言扩展阅读
C语言判断素数
#include<stdio.h>
intmain()
{
inti,j;
intm,n,p;
for(i=11;i<1000;i++)
{
if(i>=11&&i<=99)
{
m=i%10;
n=i/10;
}
else
{
m=i/100;
n=i%10;
}
if(m==n)
{
for(j=2;j<i/2;j++)
if(i%j==0)
break;
if(j>=i/2)
{
printf("%d",i);
}
}
}
return0;
}
Ⅵ C语言求素数
/*求素数的三种方法
一:for(i=2;i<=(n-1);i++)
if(n%i==0)i在2到n-1之间任取一个数,如果n能被整除则不是素数,否则就是素数
二:for(i=2;i<n/2;i++)
if(n%i==0) /*i在2到n/2之间任取一个数,如果n能被整除则不是素数,否则就是素数
三:for(i=2;i<(n=sqrt(n));i++)
if(n%i==0) /*i在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数,在下省了下面的输出步骤*/
/*在本程序中使用第三种方法来求解*/
#include <stdio.h>
#include <math.h>
int main(void)
{
int i; /*外循环*/
int j; /*内循环*/
int flag; /*素数标志,flag为1则此数为素数*/
flag = 0;
//int n;
i = 2;
while( i <= 100)
{
j = 2;
flag = 1; /*假设此数为素数*/
while(j <= (int) sqrt(float(i)))
{
if(0 == (i %j))
flag = 0; /*根据第三种算法可知次数不为素数*/
j ++;
}
if(flag)
printf("%d\t",i);
i++;
}
printf("\n");
return 0;
}
Ⅶ 编写一个程序,输出1~1000之内所有的素数(注意:素数即质数)及个数(C语言)
源代码如下:
#include <stdio.h>
#include <math.h>
void main()
{
int n=0, i, j,w,k;
for(i=2;i<=1000; i++)
{
w=1;
k=sqrt(i);
for (j=2; j<=k; j++)
if (i%j==0) {w=0;break;}
if (w) {
++n;
if (n%10==0) printf("%d ",i);
else printf("%d ",i);
}
(7)输出素数c语言扩展阅读
1、素数使用for循环查找2-1000以内的所有素数,循环次数为999次,在for循环中添加一个移位寄存器用以存储所有的素数,其初始值为一个空数组。
2、在循环内部逐个数判断是否为素数,若是素数,则使用"数组插入.vi"函数添加到移位寄存器的数组中,否则,移位寄存器中的值保留为上次的值。