c语言输入一个数判断是否为素数
用C语言求1到n有多少个数与n互质?
用C语言求1到n有多少个数与n互质?
互质:两个正整数只有公约数1时,它们的关系叫做互质。如3和11互质。
下面取值n7
int count0;
if(n>1){
sum1;//1是所有正整数的质数,至少有一个数与n互质
}else{sum0;}
for(int i1; i<n; i )
{
for( int j1; ji; j ){
if( i% j0 )
{
if( n% j0 ){
count ;
if(count>1){sum ;}}
}
}
count0;
}
(“质数个数为:” (n-1-sum));
c语言中素数的判定方法?
判断素数的两种方法 假设这个数为n
第一种: 将其与2~(n-1)的所有数取余若不存在余数为0,则为素数 intp1//p为标识for(inti2iltni ){if(n%i0){p0break}}
第二种(优化算法,大大节省运算时间): 将其与2~sqrt(n)(即n开根号)的所有数取余若不存在余数为0,则为素数。
c语言中判断是否为素数有几种程序段?
1、首先打开编辑器软件,在里面新的C语言文件里引入头文件并输入主函数,在主函数中输入代码:
2、然后写入判断素数的逻辑,这里先引入一个scanf函数,接受用户输入的数值存入变量,对接收的变量判断其是否为素数,判断的依据是如果能被2到n-1中的某个数整除就是素数,否则就不是。最后把判断的结果打印出来即可:
3、最后编译运行调试一下程序,按下crtl F5编译,在弹出的命令行中输入17这个素数,程序判断的结果是素数说明程序的逻辑是没有问题的。以上就是C语言判断素数的方法:
c语言编程问题:求1到100的素数之和?
main() { int i,t,k; /*t是判断是否为素数的标识符*/ for (i2;i100;i ) { t1; /*首先设t1,即默认为素数*/ for (k2;ki;k ) /*从2~i-1之间的数,即判断i是否是素数*/ if (ik0)/*如果能整除则不是素数*/ { t0; /*不是素数,就将t置为0*/ break; /*退出吧,不满足还执行什么,浪费时间*/ } if (t)/*退出上面循环后,如果t不等于0则为素数*/ printf(d ,i);/*是就输出*/ } }