码迷,mamicode.com
首页 > 其他好文 > 详细

常见的程序设计题

时间:2014-11-26 13:52:27      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ar   color   sp   for   strong   on   div   

1 斐波那契数列

1.1 题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

 //斐波那契数列
        static void Main(string[] args)
        {
            for (int i = 1; i <= 12; i++)
            {
                Console.WriteLine(Foo(i));
            }
            Console.Read();
        }

        public static int Foo(int i)
        {
            if (i < 0)
                return 0;
            else if (i>0 &&i <= 2)//第一个月,第二个月兔子的总对数是1对
                return 1;
            else
                return Foo(i - 1) + Foo(i - 2);//第三月开始生1对新兔子(总数:2对),第四月时新生1对兔子(2+1=3对),第五月时新生两对兔子(3+2=5),第六月时新生3对兔子(5+3=8)
        }

 

2 判断素数

2.1 题目:判断101-200之间有多少个素数,并输出所有素数。

        //101-200之间的素数
        static void Main(string[] args)
        {
            int count = 0;
            for (int i = 101; i < 200; i++)
            {
                bool b = true;//默认此数为素数
                for (int j = 2; j <= Math.Sqrt(i); j++)
                {
                    if (i % j == 0)//能被2到该数开方直接的数整除 则不是素数
                    {
                        b = false;
                        break;
                    }
                }
                if (b)
                {
                    count++;
                    Console.WriteLine(i);
                }
            }
            Console.WriteLine("101-200之间的素数个数:" + count);
            Console.Read();
        }

3 水仙花数

3.1题目:打印出所有的"水仙花数(narcissus number)",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

        //所有的"水仙花数(narcissus number)" 
        static void Main(string[] args)
        {
            int count = 0;
            for (int i = 100; i < 1000; i++)
            {
                var num = NarcissusNum(i);
                if (num != 0)
                {
                    count++;
                    Console.WriteLine(num);
                }
            }
            Console.WriteLine("100-1000之间的水仙花个数:" + count);
            Console.Read();
        }

        public static int NarcissusNum(int num)
        {
            int b = num / 100;//百位数
            int s = (num % 100) / 10;//十位数
            int g = (num % 100) % 10;//各位数

            if (b * b * b + s * s * s + g * g * g == num)//百位数+十位数+个位数之和等于该数即为水仙花数
                return num;
            else
                return 0;
        }

 

常见的程序设计题

标签:style   blog   ar   color   sp   for   strong   on   div   

原文地址:http://www.cnblogs.com/lihfeiblogs/p/4122822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!