Console-算法[for]-素数

素数判断算法
ylbtech-Arithmetic:Console-算法[for,if]-素数
 
1.A,案例
-- ========================================================
-- ylb:算法
-- Type:算法[for]
-- munu:素数的算法与分析
-- 20:32 2012/3/16
-- ========================================================
1.B,解决方案
复制代码
using System;

namespace ConsoleApplication1
{
    class Program
    {
        /// <summary>
        /// 题目:编写一个程序输出从2到100之间的所有素数。
        /// ylb:分析
        /// 素数的含义为只能被1和它本身整除的数,但1不是素数。那么对于一个整数n判断其为素数的条件
        /// 是不能被2到n的平方根内的所有整数整除。
        /// </summary>
        static void Main(string[] args)
        {
            int n, i, j;
            int flag;       //flag代表标识

            for (i = 2; i <= 100; i++)
            {
                flag = 1;
                n = (int)Math.Sqrt(i);      /*根据素数条件计算出该数字的平方根,
                                             * 并将结果强制转为整数
                                             */
                for (j = 2; j <= n; j++)    //内层for判断从2-平方根是否有能被i整除的
                {
                    if (i % j == 0)
                    {
                        flag = 0;           /*一旦找到一个能被整除的,则不是素数,将标识
                                         变量设定为假,直接结束内层循环*/
                        break;
                    }
                }
                if (flag == 1)      // 根据标识变量的取值最后判断是否为素数
                {
                    Console.Write(string.Format("{0}\t",i));
                }
            }
        }
    }
}
复制代码
1.C,运行结果
2       3       5       7       11      13      17      19      23      29
31      37      41      43      47      53      59      61      67      71
73      79      83      89      97      请按任意键继续. . .

,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值