第一题:哪天返回
小明被不明势力劫持。后莫名其妙被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。
他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。
并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。
请计算一下,小明在第几天就能凑够108元,返回地球。
要求提交的是一个整数,表示第几天。请不要提交任何多余的内容。
答案:11
int main(){
int d = 1,sum = 1,day = 1;
while(true){
d++;
day += 2;
sum += day;
// cout << d << "--" << sum << endl;
if(sum >= 108)
break;
}
cout << d << endl;
return 0;
}
第二题:猴子分香蕉
5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!
请计算一开始最少有多少个香蕉。
需要提交的是一个整数,不要填写任何多余的内容。
答案:3141
#include <iostream>
using namespace std;
int main(){
int x = 5,n0,n1,n2,n3,n4;
while(x++){
n0 = x;
if(n0%5==1 && n0 > 1){
n1 = (n0-1)/5*4;
if(n1%5 == 2 && n1 > 2){
n2 = (n1-2)/5*4;
if(n2%5 == 3 && n2 > 3){
n3 = (n2-3)/5*4;
if(n3%5 == 4 && n3 > 4){
n4 = (n3-4)/5*4;
if(n4%5 == 0 && n4 > 0)
break;
}
}
}
}
}
cout << x << endl;
return 0;
}
第三题:明码
第四题:第几个幸运数
第五题:书号验证
2004年起,国际ISBN中心出版了《13位国际标准书号指南》。
原有10位书号前加978作为商品分类标识;校验规则也改变。
校验位的加权算法与10位ISBN的算法不同,具体算法是:
用1分别乘ISBN的前12位中的奇数位(从左边开始数起),