当前位置: 代码迷 >> C语言 >> [求助]用筛选法求100之内的素数
  详细解决方案

[求助]用筛选法求100之内的素数

热度:328   发布时间:2006-11-09 23:48:57.0
以下是引用shuaiye在2006-11-9 20:57:35的发言:
to:zhanghuan_10 你真不知道还是在装“傻"???

就是就是 哈工大的竟然不知道什么是素数谁信啊
----------------解决方案--------------------------------------------------------
素数一般来讲可以和质数等价.是只能被1和自身整除的大于1的数.
我想这个概念大家以前准备高考的时候记得很熟吧...
----------------解决方案--------------------------------------------------------

我是新手哈
int main(void)
是什么意思啊?

我只知道
int main()
和void main()

----------------解决方案--------------------------------------------------------
int main(void) 等价于 int main()
----------------解决方案--------------------------------------------------------

以下是引用zhanghuan_10在2006-11-9 20:08:48的发言:

我刚好看到这里!
#include <stdio.h>
#define N 10

int main(void)
{
int digit[N];
int i, j, temp, k;

for(i = 0;i < N;i ++)
scanf("%d", &digit[i]);
for(i = 0;i < N - 1;i ++)
{
k = i;
for(j = i + 1;j < N;j ++)
if(digit[k] > digit[j])
k = j;
if(i != k)
{
temp = digit[i];
digit[i] = digit[k];
digit[k] = temp;
}
}
for(i = 0;i < N;i ++)
printf("%-5d", digit[i]);

return 0;

}

算法看不太懂~高手指教一下嘛


----------------解决方案--------------------------------------------------------
排列数组中的数,从小到大吧!
----------------解决方案--------------------------------------------------------
也请介绍一下求素数的算法~~
shuaiye的答案很厉害的
----------------解决方案--------------------------------------------------------

呵呵!我是真的不知道!


----------------解决方案--------------------------------------------------------

最白痴的方法,2个循环


i:for(1~100)
j:for(2到i的根号)
用if(i/j==0)就不是素数。


----------------解决方案--------------------------------------------------------
以下是引用nuciewth在2006-11-9 23:48:26的发言:
/*这个效率更高*/
for(i=2;i<=100;i++)
{
if(a[i]==0)
{
for(j=2;j*i<=100;j++)
{
if(a[j]==0)
{
a[j]==1;
}
}
}
}

好像不对哦.

for(i=2;i<=100;i++)
{
if(a[i]==0)
{
for(j=2;j*i<=100;j++)
{
if(a[i*j]==0)
{
a[i*j]==1;
}
}
}
}
----------------解决方案--------------------------------------------------------

  相关解决方案