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      请按任意键继续. . .
warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on 2013-02-22 00:00  ylbtech  阅读(323)  评论(0编辑  收藏  举报