| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1905 人关注过本帖
标题:求100以内的素数时为什么数组a[i]!=0
只看楼主 加入收藏
nongen
Rank: 5Rank: 5
来 自:网络
等 级:贵宾
威 望:17
帖 子:322
专家分:0
注 册:2006-11-25
收藏
得分:0 
for(i=1;i<=100;i++)
a[i]=i;
赋初值就错了撒。因为你把0抹了。

[此贴子已经被作者于2006-12-11 17:50:59编辑过]


昨天不是我的,明天不是你的,今天却是我们的。
http://www.
2006-12-11 17:43
nongen
Rank: 5Rank: 5
来 自:网络
等 级:贵宾
威 望:17
帖 子:322
专家分:0
注 册:2006-11-25
收藏
得分:0 
for(i=2;i<10;i++)
for(j=i+1;j<=100;j++)
{ if(a[i]!=0) /*为什么 a[i]!=0 时程序才可运行?*/
if(j%a[i]==0)
a[j]=0;
}
/*为什么 a[i]!=0 时程序才可运行?*/
因为你嵌套了。

昨天不是我的,明天不是你的,今天却是我们的。
http://www.
2006-12-11 17:45
nongen
Rank: 5Rank: 5
来 自:网络
等 级:贵宾
威 望:17
帖 子:322
专家分:0
注 册:2006-11-25
收藏
得分:0 
int a[101];
浪费存储空间哦。。
a[100]就够了啊。

昨天不是我的,明天不是你的,今天却是我们的。
http://www.
2006-12-11 17:49
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
按楼上的说还不如不用数组来的节省呢。。。

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-12-11 18:03
xcm
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-11
收藏
得分:0 

嗯~~
不用数组会更简单?
值得讨论。。

2006-12-11 18:56
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
直接循环判断。是素数就输出不就OVER了嘛。不用讨论了啦。

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-12-11 19:12
秋阁
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-7-15
收藏
得分:0 

2006-12-11 20:21
liyueyu
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-12-3
收藏
得分:0 
好久没写C++程序了,也没c++编程工具,用记事本写了一个 大家试下看看。
求平方根的函数我忘记了 大家自己加上。还有1和2是不是素数我也记不清了。直接从3开始判断的。
public static void main()
{
for(int i=3;i<101;i++)
{
//判断是不是素数 只要不能被2到自身的平方根整除就是素数
for(int j=2;j<=i平方根;j++)
{
if(i%j==0)
{
return;
}
//这里判断是否除到了自身的平方跟 如果已经除到平方根则说明i为素数。
if(++j>i的平方根)
{
printf("%d\t",i);
}
}
}
}
2006-12-11 22:00
高达
Rank: 1
等 级:新手上路
威 望:1
帖 子:261
专家分:0
注 册:2006-10-27
收藏
得分:0 
好像求1-100内的素数 可以这样做。。。。
main()
{
int i,k;
for( i=3;i<=100;i++ )
for( k=2;k<i;k++ )
{
if(i%k==0)
break;
else if(k<=i)
printf("%d\t",i)
}
return 0;
}

哎 时间....................
2006-12-12 15:02
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 

#include <stdio.h>
#include <math.h>

int sd(int n)
{
int j;

if(n == 2)
return 1;
for(j = 2;j <= sqrt(n);j ++)
{
if(n % j == 0)
return 0;
}
return 1;
}

int main()
{
int i;

for(i = 2;i <= 100;i ++)
{
if(sd(i))
printf("%-5d", i);
}

return 0;
}


该学习了。。。
2006-12-12 15:50
快速回复:求100以内的素数时为什么数组a[i]!=0
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028989 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved