还有两天就要比赛了,进入正题吧
题目一:小红的签到题
这道题也就是热身水平,机会很清楚的发现只需要c/a就可以得出答案了
参考代码:
#include using namespace std; int main(){ int a,b,c; cin >> a >> b >> c; cout << c / a; }
题目二:赢得次数
看着是不是觉得要把所有的情况都分析出来,然后找到最多的一个或者两个。
非常正确,但是足够单纯
详细思考一下,你会发现,如果
n是偶数:那么出现赢的次数最多会出现在中间值,也就是 n/2
n是奇数:那么出现赢的次数最多会出现在中间值,但是因为是奇数所以是 n/2 和 n/2 + 1
代码示例:
#include using namespace std; int main(){ int n; cin >> n; if(n % 2 == 0){ cout << n / 2; }else{ cout << n / 2 << " " << n / 2 + 1; } return 0; }
题目三:小竹与妈妈
只是一道数学题代码化罢辽
x = ay + b
==> y = (x - b) / a
直接就拿下啦
#include using namespace std; int main(){ int a,b,x; cin >> a >> b >> x; cout << (x - b) / a; return 0; }
题目四:最小的数字
也是一道简单题,只需要找到比n大的第一个是三的倍数的数就搞定了
注意,不要掉进坑里,是三的倍数,而不是三的次幂
直接拿捏
#include using namespace std; int main(){ int n ; cin >> n; int x; // 现在来找寻找目标值 if(n % 3 == 0){ cout << n; } if(n % 3 == 2){ cout << n + 1; } if(n % 3 == 1){ cout << n + 2; } return 0; }
题目五:猜拳游戏
那看完这段话我说句实话这不纯纯送分题吗?
代码示例:
#include #include using namespace std; int main(){ string jdb; cin >> jdb; if(jdb.compare("shitou") == 0){ cout << "shitou"; } if(jdb.compare("jiandao") == 0){ cout << "jiandao"; } if(jdb.compare("bu") == 0){ cout << "bu"; } return 0; }
先分析,n,k,a,b分别是n楼,a为爬楼速度,b是电梯上楼速度,一开始电梯在k楼
所以做电梯要先花费k*b时间下楼,再花n*b的时间上楼,然后总体时间加和
走楼梯直接就是a*b完事
然后是代码:
- #include
-
- using namespace std;
-
- int main(){
- int n,k,a,b;
- cin >> n >> k >> a >> b;
-
- // 计算电梯时间
- int eTime = (k-1)*b + (n-1)*b;
- int lTime = (n-1)*a;
-
- if(eTime > lTime ){
- cout << 2;
- }
- if(eTime < lTime){
- cout << 1;
- }
- if(eTime == lTime){
- cout << 0;
- }
- return 0;
- }
虽然都是简单题但是我累了,晚安(¦3[▓▓] 晚安