帮忙赐教-输出100以内的素数。
输出100以内的素数。(素数是只能被1 和本身整除的数)
[解决办法]
#include “stdio.h“
#include “math.h“
main()
{int a[100]={2},i,j,s,k;
for(i=0;i <=98;i++)
a[i+1]=a[i]+1;
for(i=0;i <=98;i++)
{
s=sqrt(100);
for(k=2;k <=s;k++)
if(a[i]%k==0&&a[i]!=k)
a[i]=a[i-1];}
for(i=0;i <=98;i++)
{ if(a[i]==a[i-1])
continue;
printf(“% d“,a[i]);}
}
www.baidu.com
www.google.cn
[解决办法]
这些是100 到 200 间的所有素数
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197
#include <stdio.h>
#include <math.h>
int main(void)
{
int m, k, i, flag=1;
for (m=101; m <=200; m+=2)
{
flag = 1;
k = (int)sqrt (m);
for (i=2; i <=k; i++)
{
if (m%i == 0)
{
flag = 0;
break ;
}
}
if(flag)
{
printf( "\n%d ", m);
}
}
return 0;
}
[解决办法]
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
#include <stdio.h>
#include <math.h>
int main(void)
{
int m, k, i, flag=1;
for (m=2; m <=100; m++)
{
flag = 1;
k = (int)sqrt (m);
for (i=2; i <=k; i++)
{
if (m%i == 0)
{
flag = 0;
break ;
}
}
if(flag)
{
printf( "%-3d ", m);
}
}
return 0;
}
[解决办法]
3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
#include <stdio.h>
#include <math.h>
int main(void)
{
int m, k, i, flag=1;
printf ( "2 ");
for (m=3; m <=100; m+=2) // 这个更简单,比原来快了一倍
{
flag = 1;
k = (int)sqrt (m);
for (i=2; i <=k; i++)
{
if (m%i == 0)
{
flag = 0;
break ;
}
}
if(flag)
{
printf( "%-3d ", m);
}
}
return 0;
}
还有一个方法是最简单的
#include <strio.h>
int main(void)
{
puts ( "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 ");
return 0;
}