博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Console-算法[for,if,break]-五个好朋友分苹果
阅读量:4683 次
发布时间:2019-06-09

本文共 1685 字,大约阅读时间需要 5 分钟。

ylbtech-Arithmetic:Console-算法[for,if,break]-五个好朋友分苹果
 
1.A,案例
-- ========================================================
-- ylb:算法
-- Type:算法[for,if,break]
-- munu:五个好朋友分苹果
-- thankyou:sunshine
-- 13:02 2012/3/17
-- ========================================================    
 
      五个好朋友分一堆苹果,第一个人把苹果分成5份,为了公平,扔掉了多余的1个苹果,拿上自己一份走了。第二人来了,把剩余的苹果分成5份,扔掉多余的1个,拿上自己一份走了。以后来的三个人都是这样做的。那么,最初有多少个苹果呢?
 
分析:
    根据分苹果的方法我们可以看出,每个人分苹果时都是扔掉1个后变成了5的整数倍,所以才能分成5份。那么当这个人拿去一份后,剩余的是4份苹果,所以剩余的数一定是4的整数倍。所以,每个人所看到的数目一定是减1后,既是5的整数倍,又是4的整数倍。因此可构建为:1+4+5+X(X为未知的正整数或0)。
    设m为第i个人所看到的苹果数,n代表第i-1个人所看的到苹果数,那么这两个数字应该满足这样的关系:m=(n-1)/5*4
    例如当i=2时,代表第2个人所看到的苹果数=(第一个人看到的苹果数减去1个,再分成5份,因为第一个人拿走1份,所以乘以4份)。所以,这个表达式成立。
    因此m和n都应该满足1+4*5*X这个表达式。这是一个二重循环,外循环不能确定执行多少次,只好总最小数21开始试算。内循环判断苹果数是否能被5整除,如果不能被整除则退出内循环,外循环的苹果数直接加20。因为20是满足既能被5整除,又能被4整除的最小数。
   从1开始的原因1是最小的满足1=1+4*5*X的正整数(当X为0时)。
1.B,解决方案
using System;namespace ConsoleApplication1{    class Program    {        ///         /// ylb:五个好朋友分苹果        /// 12:56 2012/3/17        ///         ///         static void Main(string[] args)        {            int i, m, n = 1;            for (; ; )            {                n = n + 4 * 5;                m = n;                for (i = 0; i < 5; i++)                {                    if ((m - 1) % 5 != 0)                        break;                    else                        m = (m - 1) / 5 * 4;                }                if (i == 5)                    break;            }            Console.WriteLine(string.Format("原来有{0}个苹果!",n));        }    }}
1.C,运行结果
原来有3121个苹果!请按任意键继续. . .
warn 作者:
出处:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/ylbtech/archive/2013/02/22/2921875.html

你可能感兴趣的文章
用户画像展示
查看>>
pyqt pyinstaller使用说明
查看>>
C#中StreamReader读取中文出现乱码
查看>>
引用堆中的对象
查看>>
用CSS开启硬件加速来提高网站性能(转)
查看>>
使用BufferedReader的时候出现的问题
查看>>
加快页面加载速度的方法
查看>>
Oozie协作框架
查看>>
linux安装图形界面
查看>>
Android广播发送失败
查看>>
博弈论之入门小结
查看>>
解决IE8下opacity属性失效问题,无法隐藏元素
查看>>
洛谷1002 过河卒
查看>>
C#匿名函数的坑
查看>>
标记页面控件尺寸
查看>>
批处理文件中的路径问题
查看>>
appium+python 环境搭建
查看>>
WampServer下修改和重置MySQL密码
查看>>
hibernate出现No row with the given identifier exists问题
查看>>
为什么wait()和notify()属于Object类
查看>>