• ACM练习——第五天


     还有两天就要比赛了,进入正题吧

    题目一:小红的签到题

    小红的签到题 (nowcoder.com)

    这道题也就是热身水平,机会很清楚的发现只需要c/a就可以得出答案了

    参考代码:

    1. #include
    2. using namespace std;
    3. int main(){
    4. int a,b,c;
    5. cin >> a >> b >> c;
    6. cout << c / a;
    7. }


    题目二:赢得次数

    赢的次数 (nowcoder.com)

    看着是不是觉得要把所有的情况都分析出来,然后找到最多的一个或者两个。

    非常正确,但是足够单纯

     详细思考一下,你会发现,如果

    n是偶数:那么出现赢的次数最多会出现在中间值,也就是 n/2

    n是奇数:那么出现赢的次数最多会出现在中间值,但是因为是奇数所以是 n/2 n/2 + 1

    代码示例:

    1. #include
    2. using namespace std;
    3. int main(){
    4. int n;
    5. cin >> n;
    6. if(n % 2 == 0){
    7. cout << n / 2;
    8. }else{
    9. cout << n / 2 << " " << n / 2 + 1;
    10. }
    11. return 0;
    12. }


    题目三:小竹与妈妈

    小竹与妈妈 (nowcoder.com)

     只是一道数学题代码化罢辽

    x = ay + b

    ==>  y = (x - b) / a

    直接就拿下啦

    1. #include
    2. using namespace std;
    3. int main(){
    4. int a,b,x;
    5. cin >> a >> b >> x;
    6. cout << (x - b) / a;
    7. return 0;
    8. }


    题目四:最小的数字

    最小的数字 (nowcoder.com)

    也是一道简单题,只需要找到比n大的第一个是三的倍数的数就搞定了

    注意,不要掉进坑里,是三的倍数,而不是三的次幂

    直接拿捏

    1. #include
    2. using namespace std;
    3. int main(){
    4. int n ;
    5. cin >> n;
    6. int x;
    7. // 现在来找寻找目标值
    8. if(n % 3 == 0){
    9. cout << n;
    10. }
    11. if(n % 3 == 2){
    12. cout << n + 1;
    13. }
    14. if(n % 3 == 1){
    15. cout << n + 2;
    16. }
    17. return 0;
    18. }


    题目五:猜拳游戏

    猜拳游戏 (nowcoder.com)

    那看完这段话我说句实话这不纯纯送分题吗?

    代码示例:
     

    1. #include
    2. #include
    3. using namespace std;
    4. int main(){
    5. string jdb;
    6. cin >> jdb;
    7. if(jdb.compare("shitou") == 0){
    8. cout << "shitou";
    9. }
    10. if(jdb.compare("jiandao") == 0){
    11. cout << "jiandao";
    12. }
    13. if(jdb.compare("bu") == 0){
    14. cout << "bu";
    15. }
    16. return 0;
    17. }


    题目六:小杜要迟到了

     

    先分析,n,k,a,b分别是n楼,a为爬楼速度,b是电梯上楼速度,一开始电梯在k楼

    所以做电梯要先花费k*b时间下楼,再花n*b的时间上楼,然后总体时间加和

    走楼梯直接就是a*b完事

    然后是代码:

    1. #include
    2. using namespace std;
    3. int main(){
    4. int n,k,a,b;
    5. cin >> n >> k >> a >> b;
    6. // 计算电梯时间
    7. int eTime = (k-1)*b + (n-1)*b;
    8. int lTime = (n-1)*a;
    9. if(eTime > lTime ){
    10. cout << 2;
    11. }
    12. if(eTime < lTime){
    13. cout << 1;
    14. }
    15. if(eTime == lTime){
    16. cout << 0;
    17. }
    18. return 0;
    19. }

    结语

    虽然都是简单题但是我累了,晚安(¦3[▓▓] 晚安

  • 相关阅读:
    利用梯度下降法求最小值及动画展示
    用队列实现栈(力扣第225题)
    零基础入门microbit教程
    RNN 浅析
    [C/C++]数据结构 栈和队列()
    数据结构题目收录(五)
    Linux 搭建MQTT服务器
    计算机毕业设计JavaWeb网上购书后台管理系统(源码+系统+mysql数据库+lw文档)
    学习笔记-公有云安全
    [极客大挑战 2019]RCE ME 1
  • 原文地址:https://blog.csdn.net/DDDDWJDDDD/article/details/134466251