| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7750 人关注过本帖
标题:在C#里面如何判断用户输入的一个正整数是否是素数?还有如何设置循环
只看楼主 加入收藏
meining
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-27
收藏
 问题点数:0 回复次数:23 
在C#里面如何判断用户输入的一个正整数是否是素数?还有如何设置循环
如何判断用户输入的一个正整数是否是素数????

   其实我就是不知道如何接受用户输入的值。。。

 请大家帮帮忙。。急。。。。。

[[it] 本帖最后由 meining 于 2008-10-27 15:15 编辑 [/it]]
搜索更多相关主题的帖子: 素数 整数 用户 判断 
2008-10-27 14:57
meining
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-27
收藏
得分:0 
还有。。
  如何设置循环??
2008-10-27 15:14
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
收藏
得分:0 
素数?
那你给定用户能输入的最大值是多少?如果最大值非常大的话,判定素数将会耗费你很多时间。

我们知道,仅1和自身能整除的数成为素数,目前,还没有一个公式可以判定素数。学过密码学的人都知道,RSA不对称算法就是基于两个大素数的分解困难,虽然迄今没有理论证明。
而计算机要想生成(或判定)一个大数是否是一个素数,比较快速的方法就是用概率素性检测。也就是给定一个数,用一个偏向于回答“是”的概率问题逐渐逼近他,直到符合要求为止。但仍不能从理论上证明这个数就是素数。
如果要想精确的话:
我目前所能想到的方法是用一个从2到该数(本身/2(除不尽按入位原则))的循环顺次做除法,如果都除不尽,则可判定为素数。这种运算的性能和数字长度密切相关。
网上可能会有很多相关讨论,不妨去查找看看。
还有一些性质可以帮助你提高一些性能。如,偶数不是素数,因为偶数衡被2整除。素数是奇数的真子集。

铲铲是也
2008-10-27 15:22
hikor
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-8-2
收藏
得分:0 
在控制台里面吗
2008-10-27 15:24
乖老鼠
Rank: 5Rank: 5
来 自:四川省
等 级:职业侠客
威 望:2
帖 子:434
专家分:394
注 册:2008-9-8
收藏
得分:0 
“其实我就是不知道如何接受用户输入的值。。。”

你在控制台还是WINFORM?

控制台读取用户输入数据就是:
string 用户输入的数据= Console.ReadLine();

转眼就从编程菜鸟混成了半灌水
2008-10-27 15:49
hikor
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-8-2
收藏
得分:0 
using System;
using System.Collections.Generic;
using System.Text;

namespace isPrimeNumber
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("请输入一个数");
            int Num = Convert.ToInt32(Console.ReadLine());
            int count = 0;
            for (int i = 2; i < Num;i++ )
            {
                if (Num % i != 0)
                {
                    count++;
                }
            }
            if (count == Num - 2)
            {
                Console.WriteLine("{0}为素数", Num);
            }
            else
            {
                Console.WriteLine("{0}不为素数", Num);
            }
        }
    }
}


这个是我刚写的 用笨办法了 不好意思 呵呵
2008-10-27 15:56
乖老鼠
Rank: 5Rank: 5
来 自:四川省
等 级:职业侠客
威 望:2
帖 子:434
专家分:394
注 册:2008-9-8
收藏
得分:0 
[bo][un]hikor[/un] 在 2008-10-27 15:56 的发言:[/bo]

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

namespace isPrimeNumber
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Wr ...


int Num = Convert.ToInt32(Console.ReadLine());

加个try吧,要是输入字符串就要出错了

转眼就从编程菜鸟混成了半灌水
2008-10-27 15:57
hikor
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-8-2
收藏
得分:0 
呵呵,应该是的 我偷懒了
2008-10-27 16:03
hikor
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-8-2
收藏
得分:0 
而且不能输入1,或者2,0也不行 这个都要控制好
2008-10-27 16:05
meining
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-27
收藏
得分:0 
谢谢各位了。。。。
   
我是初学者。。看不懂下面这个 。。。。

  麻烦解释下。。
   int Num = Convert.ToInt32(Console.ReadLine());
2008-10-27 16:13
快速回复:在C#里面如何判断用户输入的一个正整数是否是素数?还有如何设置循环
数据加载中...
 
   



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

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