| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 582 人关注过本帖
标题:代码出现怪事 素数显示6次
只看楼主 加入收藏
达文西
Rank: 1
等 级:新手上路
威 望:1
帖 子:117
专家分:0
注 册:2007-8-4
收藏
 问题点数:0 回复次数:6 
代码出现怪事 素数显示6次

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication43
{
class Program
{

public static void Main()
{
int i;
bool x=true;
for (i = 100; i <= 200; i++)
{
for (int j = 2; j <=Convert.ToInt32( Math.Sqrt(i)); j++)
{
if (i % j == 0)
{
x = false;
break;

}

if (x = true)
Console.WriteLine(i);

}


Console.ReadLine();

}
}
}
}
你们看看 比如显示101 101 就出现六次 每个素数都是显示6次 而且必须按enter才显示下一个素数 无限郁闷中


搜索更多相关主题的帖子: 素数 怪事 代码 
2007-08-21 16:26
达文西
Rank: 1
等 级:新手上路
威 望:1
帖 子:117
专家分:0
注 册:2007-8-4
收藏
得分:0 
不是六次 是9次  
2007-08-21 16:28
zhanmu123456
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-8-30
收藏
得分:0 

if (x = true)
Console.WriteLine(i);
break;
}


//Console.ReadLine();

2007-08-30 16:46
virusswb
Rank: 1
等 级:新手上路
威 望:1
帖 子:342
专家分:0
注 册:2005-8-6
收藏
得分:0 

public static void Main()
{
int i;

for (i = 100; i <= 200; i++)
{
for (int j = 2; j < Convert.ToInt32(Math.Sqrt(i)); j++)
{
if (i % j == 0)
{

break;

}
Console.WriteLine(i);
break;//这个break很重要吗,你不break就会继续下一次的判断,不是素数就要退出
}

}
Console.ReadLine();//要注意位置
}


jorden008@
2007-08-30 17:24
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
收藏
得分:0 

using System;

namespace is_prime_number
{
class PrimeNumber
{
public static void Main()
{
int num,i;
Console.Write("请输入一个正整数:");
num = int.Parse(Console.ReadLine());
i = 2;
while( num % i != 0)
{
if( num == 1)
{
break;
}
i++;
}
if( num == i || num == 1)
{
Console.WriteLine( num + "是素数");
}
else
{
Console.WriteLine( num + "不是素数");
}
}
}
}


愛生活 && 愛編程
2007-08-31 00:40
xyb157
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2006-11-21
收藏
得分:0 
以下是引用guoxhvip在2007-8-31 0:40:14的发言:

using System;

namespace is_prime_number
{
class PrimeNumber
{
public static void Main()
{
int num,i;
Console.Write("请输入一个正整数:");
num = int.Parse(Console.ReadLine());
i = 2;
while( num % i != 0)
{
if( num == 1)
{
break;
}
i++;
}
if( num == i || num == 1)
{
Console.WriteLine( num + "是素数");
}
else
{
Console.WriteLine( num + "不是素数");
}
}
}
}

按你这样的方法好象不能判断全部的素数啊!有点误判,你只考虑基数可是基数也有的是素数,若当num等于75的时候代码好象就会判断为素数,可是他不是,所以还要考虑到以5做为除数,不知道是不是呢?
我是新手都都指教


编程、在编程。。。。。爱学习、爱劳动才是个好孩子,老婆才会好好爱我
2007-08-31 17:30
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
收藏
得分:0 
楼上的朋友 不要光看代码 如果你觉得这段代码num等于75时会判断为素数那你运行一下再说 你看看输入75判断的是素数还是不是素数

愛生活 && 愛編程
2007-08-31 18:48
快速回复:代码出现怪事 素数显示6次
数据加载中...
 
   



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

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