C语言程序编程:输出100到200间的全部素数,每行输出5个素数。
6个回答
展开全部
首先来理解素数的概念:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29…………
这些除了他本身和1不能被任何其他数字整除的数字叫做“素数”,又叫“质数”。
那么编程思路就有了:
那么我们在外面再加一圈循环n,让 n 的取值范围在 100 <= n <= 200 之间,然后嵌套:
让 i 在 1 < i < n 的范围内进行循环,然后用 n % i,如果途中发现有非 0 的值,则表示该值非质数,让s = 1终断循环。
在循环的最后,判断 s :如果 s 的值为0,则输出n。
然后(还是在循环内)判断n的值:若 n % 5 结果为4,则输出"\n"。
这就是全部的算法,我已经写得很详细了 - -
2, 3, 5, 7, 11, 13, 17, 19, 23, 29…………
这些除了他本身和1不能被任何其他数字整除的数字叫做“素数”,又叫“质数”。
那么编程思路就有了:
那么我们在外面再加一圈循环n,让 n 的取值范围在 100 <= n <= 200 之间,然后嵌套:
让 i 在 1 < i < n 的范围内进行循环,然后用 n % i,如果途中发现有非 0 的值,则表示该值非质数,让s = 1终断循环。
在循环的最后,判断 s :如果 s 的值为0,则输出n。
然后(还是在循环内)判断n的值:若 n % 5 结果为4,则输出"\n"。
这就是全部的算法,我已经写得很详细了 - -
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
int i, j;
int flag, count = 0;
for (i = 100; i <= 200; i++)
{
flag = 1;
for (j = 2; j * j <= i; j++)
if (i % j == 0)
{
flag = 0;
break;
}
if (flag)
{
printf("%d ", i);
count++;
}
if (count == 5)
{
printf("\n");
count = 0;
}
}
return 0 ;
}
int main()
{
int i, j;
int flag, count = 0;
for (i = 100; i <= 200; i++)
{
flag = 1;
for (j = 2; j * j <= i; j++)
if (i % j == 0)
{
flag = 0;
break;
}
if (flag)
{
printf("%d ", i);
count++;
}
if (count == 5)
{
printf("\n");
count = 0;
}
}
return 0 ;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-11-11
展开全部
#include <stdio.h>
#include <math.h>
int ss(int n) /*检查n是否为素数,如果是则返回1,否则返回0*/
{
int i;
for (i=2; i<=(int)sqrt((double)n); i++)
if (n%i==0) return 0;
return 1;
}
int main(void)
{
int i,j=0;
for (i=100; i<=200; i++)
if(ss(i))
{
j++;
printf("%5d",i);
if (j%5==0) printf("\n");
}
printf("\ntotal prime=%d\n",j);
return 0;
}
#include <math.h>
int ss(int n) /*检查n是否为素数,如果是则返回1,否则返回0*/
{
int i;
for (i=2; i<=(int)sqrt((double)n); i++)
if (n%i==0) return 0;
return 1;
}
int main(void)
{
int i,j=0;
for (i=100; i<=200; i++)
if(ss(i))
{
j++;
printf("%5d",i);
if (j%5==0) printf("\n");
}
printf("\ntotal prime=%d\n",j);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
main()
{ int m,i,k,h=0,leap
for(m=100;m<=200;m++)
{
leap=1;
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) {
printf("%-4d",m);h++;
if(h%5==0)
printf("\n");
}
}
printf("\nThe total is %d\n",h);
system("PAUSE");
}
main()
{ int m,i,k,h=0,leap
for(m=100;m<=200;m++)
{
leap=1;
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) {
printf("%-4d",m);h++;
if(h%5==0)
printf("\n");
}
}
printf("\nThe total is %d\n",h);
system("PAUSE");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询