⑴ 用c语言编写一个程序,判断输入的数是否是素数(质数)。
#include <stdio.h>
#include <math.h>
int main()
{
int i,j,n,flag;
int num;
/* 判断输入的数是否是素数 */
printf("请输入一个正整数:");
scanf("%d", &num);
for(i=2,flag=1; i<=(int)sqrt(num);i++)
{
if(num % i ==0)
{
flag=0;
break;
}
}
if(flag==1)
printf("%d 是一个素数。\n\n", num);
else
printf("%d 不是一个素数。\n\n", num);
/* 列出2~1000之间个位数是3或7的素数 */
printf("2~1000之间个位数是3或7的素数:\n");
for(i=2; i<1000;i++)
{
for(j=2,flag=1; j<=(int)sqrt(i); j++)
if(i%j==0)
{
flag=0;
break;
}
if(flag==1 && (i%10==3 || i%10==7))
printf("%d\t",i);
}
/* 输出10个2~1000之间个位数是3或7的素数 */
printf("\n\n2~1000之间个位数是3或7的素数:\n");
for(i=2,n=0; i<1000;i++)
{
for(j=2,flag=1; j<=(int)sqrt(i); j++)
if(i%j==0)
{
flag=0;
break;
}
if(flag==1 && (i%10==3 || i%10==7))
{
n++;
if(n<=10)
printf("%d\t",i);
}
if(n>10)
break;
}
return 0;
}
⑵ C语言编程:判断某数是否是质数
#include<stdio.h>
int main(int argc,int argv[]){
int a,flag;
scanf("%d",&a);/*输入一个数进行判断是否是质数*/
int isprime(int);/*这里是对将要调用的函数声明一下*/
flag=isprime(int);
if(flag==1) printf("%d is isprime",a);
printf("%d is not isprime",a):
return 1;/*这里的语句代表调用函数成功*/
}
int isprime(int a){ /*功能函数,判断是否是素数*/
int i;
for(i=2;i<=a/2;i++)
if(a%i==0) return 0;/*只要有一次相除为0,马上就能判断不是素数*/
return 1;/*否则经过循环之后,都没有相除为0呢,就说明一定是素数了*/
}
看到这里是不是有点疑惑了呢?我到网络查了一下,质数也称素数,你注意看就好。。不懂再追问。。
不过我想你看完之后你应该能明的了,我已经写得好详细了啦。。。。
⑶ c语言编程 判断一个数是否为质数
逻辑判断有问题。
if(a%n==0){
//说明已经有可以整除的数,已经不是质数了,所以可以利用break;直接跳出
}else{
//假设a是9,那么9%2肯定不为0啊,那么9就不是质数啦?
}
改成以下
for(n=2;n<a;n++){
if(a%n==0){
printf("no");
break;
}
}
if(n>=a){
//如果a是质数的话,说明没有利用break跳出循环,那么结束循环时n的值为a,如此可以判断还未有数可以让a整除的
printf("yes");
}
⑷ 用C语言如何判断素数
素数又称质数,所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。
思路1、判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。
思路2、判断方法还可以简化。
m 不必被2~m-1之间的每一个整数去除,只需被2~√m之间的每一个整数去除就可以了。如果 m 不能被2~√m间任一整数整除,m必定是素数。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数。
原因:因为如果m能被2~m-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m。
例如16能被2、4、8整除,16=2*8,2小于 4,8大于4,16=4*4,4=√16,因此只需判定在2~4之间有无因子即可。
两种思路的代码请看解析。
拓展资料:
素数(prime number)又称质数,有无限个。素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
网络——C语言
⑸ 用C语言如何判断素数
按照如下步骤即可用C语言判断素数:
1、首先打开visual C++ 6.0,然后点击左上角的文件,再点击新建。
⑹ c语言 判断是否为质数
最常用的方法是循环,用要判断的数去除以2到那个数减一,如果存在取余为0的,证明不是质数,判定可以加上布尔函数,存在为1.
⑺ c语言怎样判断一个数是不是质数
#include<stdio.h>
void main()
{
int i,n;
printf("请输入n:");
scanf("%d",&n);
i=2;
while(i<n)
{
if(n%i==0)
break;
i++;
}
if(i==n)
printf("%d is prime\n",n);
else
printf("%d is no prime\n",n);
}
⑻ 如何用c语言编写出判断一个数是否为质数的程序
新建一个Win32 Console Application,创建一个Hello World!程序,把如下代码粘进去运行。
#include "stdafx.h"
#include <stdio.h>
void main()
{
int a,k=0;
printf("请输入大于1的正整数:");
scanf("%d",&a);
for(int i=2;i<a;i++)
if(a%i==0) {k=1;break;}
if(k) printf("%d不是质数!可以被%d整除!\n",a,i);
else printf("%d是质数!\n",a);
}
⑼ C语言判断一个数是否是质数
根据质数的定义,在判断一个数n是否是质数时,只要用1至n-1去除n,看看能否整除即可。
还有更好的办法:先找一个数m,使m的平方大于n,再用小于等于m的质数去除n(n为被除数),如果都不能整除,则n必然是质数。如我们要判断1993是不是质数,50*50>1993,那么只要用1993除以<50的质数看是否能整除,若不能即为质数。100以内的质数有25个,还是比较好记的,只要记熟100以内质数,就可以快速判断10000以内的数是不是质数。
100以内的质数有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,在100内共有25个质数。
只有1和它本身两个因数的自然数,叫质数(或称素数)。(如:由2÷1=2,2÷2=1,可知2的因数只有1和它本身2这两个约数,所以2就是质数。与之相对立的是合数:“除了1和它本身两个因数外,还有其它因数的数,叫合数。”如:4÷1=4,4÷2=2,4÷4=1,很显然,4的因数除了1和它本身4这两个因数以外,还有因数2,所以4是合数。)
⑽ C语言输入一个整数,判断是否是质数
#include<stdio.h>//头文件
int main()//主函数
{
int number,i;//定义变量
printf("请随机输入一个数:");//提示语句
scanf("%d",&number);//键盘输入需要判断的数
for(i=2;i<=number-1;i++)//循环从2开始,到这个数的掐前一个数为止
{
if(number%i==0)//如果取余结果为0
break;
}
if(i<number)
{
printf("%d不是素数",number);
}
else
{
printf("%d是素数",number);
}
return 0; //函数返回值为0
}