京东校招编程题——小熊分苹果
2015-09-18 21:46
232 查看
刚做完京东校招在线笔试,第一道编程题居然没做出来,开始时没想到关键点还以为题目出错了,浪费了很多时间,郁闷……
题目如下:
N(1<N<9)只熊分一堆苹果,第一只熊(叫小东
)把苹果平均分成N分,刚好多出一个,扔掉多出的那个并取走一份,后面每只熊以此类推。
问苹果最少多少个。
题目的关键点在于每只熊取走后剩下的苹果数是(N-1)的倍数,取之前苹果数%N==1,采用逆向思维,设最后一只熊取走后剩下m个苹果,从初始值
为N-1的情况开始尝试,根据分配原则逆向推N步,假如逆推过程中出现不符合条件的数,则放弃逆推,增大m的初始值再次尝试,直到能成功逆推N步为止。
此时逆推得到的值便是最小值。
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
while(sca.hasNextInt()){
int n = sca.nextInt();
int m = n - 1;
int k = 1;
while(true){
int i = 0;
for(i = 0; i < n; i++){
if(m % (n - 1) != 0) break;
m = m * n / (n - 1) + 1;
}
if(i != n){
m = (++k) * (n - 1);
continue;
}
break;
}
System.out.println(m);
}
}
}
这次笔试的教训是做题时需要保持冷静清晰的思维,还有不要随便怀疑题目的正确性,最重要的是,一定要找个安静的地方笔试!找个安静的地方笔试!
找个安静的地方笔试!重要的事情说三遍!旁边要是有几个逗比室友在吵吵闹闹看动画片,你再牛逼也别想发挥好!
题目如下:
N(1<N<9)只熊分一堆苹果,第一只熊(叫小东
)把苹果平均分成N分,刚好多出一个,扔掉多出的那个并取走一份,后面每只熊以此类推。
问苹果最少多少个。
题目的关键点在于每只熊取走后剩下的苹果数是(N-1)的倍数,取之前苹果数%N==1,采用逆向思维,设最后一只熊取走后剩下m个苹果,从初始值
为N-1的情况开始尝试,根据分配原则逆向推N步,假如逆推过程中出现不符合条件的数,则放弃逆推,增大m的初始值再次尝试,直到能成功逆推N步为止。
此时逆推得到的值便是最小值。
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
while(sca.hasNextInt()){
int n = sca.nextInt();
int m = n - 1;
int k = 1;
while(true){
int i = 0;
for(i = 0; i < n; i++){
if(m % (n - 1) != 0) break;
m = m * n / (n - 1) + 1;
}
if(i != n){
m = (++k) * (n - 1);
continue;
}
break;
}
System.out.println(m);
}
}
}
这次笔试的教训是做题时需要保持冷静清晰的思维,还有不要随便怀疑题目的正确性,最重要的是,一定要找个安静的地方笔试!找个安静的地方笔试!
找个安静的地方笔试!重要的事情说三遍!旁边要是有几个逗比室友在吵吵闹闹看动画片,你再牛逼也别想发挥好!
相关文章推荐
- atitit.为什么技术的选择方法java超过.net有前途
- qt中出现库函数无法解析的外部符号
- Scala并发编程实战初体验及其在Spark源码中的应用解析之Scala学习笔记-56
- java全局鼠标键盘监听
- java 多线程同步
- struts2 constant配置详解
- 初识 Struts2 (HelloWorld)
- 自学QT之实现窗口移动
- 重学C++Primer笔记5---一些基本语法需要特别注意的地方
- python 3.3.2报错:No module named 'urllib2'
- python 3.3.2报错:No module named 'urllib2'
- python下libsvm的使用
- 求满足 Str1<Str<Str2 且 0<Str.length <=len 的字符串个数
- 内存四区解析
- 从eclipse导出,Android Studio导入项目过程出现的各种问题总结
- matlab(2) Logistic Regression: 画出样本数据点plotData
- java环境配置
- java环境配置
- Java
- 送给半路出家的Pythoner