2016京东编程题:小东分苹果
2016-04-13 09:57
176 查看
题目描述
果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔掉一个然后拿走一份,以此类推直到最后一头熊都是这样(最后一头熊扔掉后可以拿走0个,也算是n份均分)。问最初这堆苹果最少有多少个。给定一个整数n,表示熊的个数,返回最初的苹果数。保证有解。
测试样例:
2
返回:3 解题 自己尝试好久都没有写出来,参考<复制>讨论中的程序
importjava.util.*; publicclassApples{ publicintgetInitial(intn){ //writecodehere for(inti=0;;i++){ intapple=i*n+1;//第一个人得到i个苹果,则第一个人分苹果时共有(i*n+1)个苹果这个数要能除以n余1 //对第二个人分时候的苹果总数是:apple/n*(n-1)同样也要除以n余1,下面循环判断n个人都要满足这个条件。 intt=apple; booleanflag=true; for(intj=n;j>0;j--){ if(t%n==1) t=t/n*(n-1);//第i个人分后的苹果数量也就是第i+1人分之前的苹果数量 else{ flag=false; break; } } if(flag) returnapple; } } }
至于说苹果数量就是:n^n+1-n更没有推出来了。
相关文章推荐
- 关于struts2标签中 #parameters.XXX获取参数的问题
- C/C++中字符函数库ctype.h
- java反射机制初探
- Python 学习笔记 - 10.类(Class) 1
- 【C++】菱形继承与虚拟菱形继承的对比分析
- [其它]在eclipse中运行Junit报错NullPointerException
- 4月13日 php
- ASP.NET-internat身份验证
- Python多进程分块读取超大文件的方法
- Java中怎样简便的保留小数点后两位
- Python的socket模块详解
- 扩展java的语法
- Python中的Class的讨论
- Static Members:
- laravel 安装
- python address already in use
- eclipse 新建项目下后.metadata\.plugins的文件夹解释和如何保存自己的特定工程设置
- java操作ftp时单个用户对应多个目录问题
- 《C++primer》读书笔记一
- Struts2 数据展现