首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c 求素数,该如何处理

2012-02-05 
c求素数int i, k, m int leap 0 int counter 0 for(i 2 i 100 i++) { leap 0 m sqrt((

c 求素数
int i, k, m;
int leap = 0;
int counter = 0;

for(i = 2; i <= 100; i++)
{ leap = 0;
m = sqrt((float)i);
for(k = 2; k <= m; k++)
if(i % k == 0)
leap = 1;
if(leap == 0)
{
counter += 1;
//printf(" '%d ", counter);
printf("%d ", i);
}
if(counter % 5 == 0)
printf("\n");

}//求100以内的素数,每5个元素换一行。但换行 不正确,中间有大块空白?怎么回事

[解决办法]

C/C++ code
#include <stdlib.h>#include <stdio.h>#include <math.h>int main (){    int i, k, m;    int leap = 0;    int counter = 0;        for(i = 2; i <= 100; i++)    {         leap = 0;        m = (int)sqrt((double)i);        for(k = 2; k <= m; k++)        {            if(i % k == 0)                leap = 1;        }        if(leap == 0 )        {            counter += 1;            //printf(" '%d ", counter);            printf("%5d", i);            if(counter % 5 == 0)                printf("\n");        }            }//求100以内的素数,每5个元素换一行。但换行 不正确,中间有大块空白?怎么回事    return 0;} 

热点排行