余数算法

一筐鸡蛋:
1个1个拿,正好拿完。
2个2个拿,还剩1个。
3个3个拿,正好拿完。
4个4个拿,还剩1个。
5个5个拿,还剩4个。
6个6个拿,还剩3个。
7个7个拿,正好拿完。          
8个8个拿,还剩1个。          
9个9个拿,正好拿完。
问筐里最少有多少鸡蛋?

先简化算法:

第一个条件忽略,
是8的倍数一定是4的倍数,也一定是2的倍数
是9的倍数一定是3的倍数,
是3的倍数,而且是奇数,被6除一定余3,

 

所以,可以归纳为:
5个5个拿,还剩4个。
7个7个拿,正好拿完。          
8个8个拿,还剩1个。          
9个9个拿,正好拿完。

 

        static void Main(string[] args)
        {
            for (int i = 0; i < 10000; i++)
            {
                if ((i - i / 5 * 5) != 4) continue;
                if ((i - i / 7 * 7) != 0) continue;
                if ((i - i / 8 * 8) != 1) continue;
                if ((i - i / 9 * 9) != 0) continue;
                Console.Write(i);
                Console.ReadLine();
                return;
            }
        }       

i=1449

 

posted @ 2016-01-19 15:23  gobuild  阅读(1575)  评论(0编辑  收藏  举报