69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int main()
{
int i, j;
int k, a;
for (i = 100; i < 200; i++)
{
j = i/2;
for (k = 2; k <= j; k++)
{
a = i % k;
if (a != 0)
{
if (k >= j)
printf("%d \n", i);
}
else
{
break;
}
}
}
return 0;
}
当然这样的方法很初级,传统也有很多求素数的方法,如最经典的“筛法”。对于误导楼主,再次表示歉意。void main()
{
int i, t;
for(i=2;i<=10000;i++)
{
for(t=2;i%t;t++);
if(t==i)
printf("%d ", t);
}
printf("\n");
}
个人觉得非常牛叉的一段求素数代码#include <stdio.h>
void main()
{
int i;
int k;
for (i=100;i<200;i++)
{
int a=0;
for (k=2;k<i-1;k++)
{
if(i%k==0)
++a;
}
if(a==0)
printf("%d\n",i);
}
}
要好好理解一下循环和赋值哦!
if (a==0)
{
printf("%d",i);
break;
}
#include <stdio.h>
#include <math.h>
int main()
{
int i,j,t=0;
int k;
for(i=101;i<200;i+=2)
{
j=sqrt(i);
for(k=2;k<=j;k++)
{
//有一个因数可以整除的就不是素数
if(!(i%k))
break;
}
if(k>j)
{
if(!(t%10)&&t!=0)
printf("\n");
t++;
printf("%-4d ",i);
}
}
printf("\n");
return 0;
}
#include <stdio.h>
int main()
{
int i,j ;
int k;
for(i=101;i<200;i+=2)
{
j=i/2;
for(k=2;k<j;k++)
{
//有一个因数可以整除的就不是素数
if(!(i%k))
break;
}
if(k>=j)
printf("%d ",i);
}
return 0;
}
#include <stdio.h>
void main()
{
int i ;
int k,a,j;
for (i=100;i<200;i++)
{
j=0;
for ( k=2;k<i;k++)
{
a=i%k;
if (a==0)//只要有一个不符合直接跳出循环,运行下一个数字
break;
}
if(a!=0)//执行完上一个循环后,如果该数字不满足要求,则跳出上一个循环,此时a等于0,如果满足要求,上一个循环执行完毕之后执行词if此时a不等于0
{
printf("%d\n",i);
}
}
}
#include <stdio.h>
int main()
{
int i,j ;
int k,a;
for (i=100;i<200;i++)
{
j=i/2;
for ( k=2;k<j;k++)
{
a=i%k;
if(a!=0)
{
if(k==j-1)printf("%d\n",i);
continue;
}
else
break;
}
}
}
#include <stdio.h>
int main()
{
int i,j;
int k,a;
for (i=100;i<200;i++)
{
j=i/2;
for ( k=2;k<j;k++)
{
a=i%k;
if (a == 0)
{
if (k >= j)
printf("%d",i);
break;
}
}
}
return 0;
}
#include <stdio.h>
int main()
{
int i = 0,j = 0;
int k = 0,a = 0;
for (i=100; i<200; i++)
{
j = i/2;
for (k=2; k<j; k++)
{
a = i%k;
if (a==0)
break;
}
if(k == j)
printf("%d \t",i);
}
}