ACM练习——第五天

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

题目一:小红的签到题

小红的签到题 (nowcoder.com)

ACM练习——第五天_第1张图片

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

参考代码:

#include 

using namespace std;

int main(){
    int a,b,c;
    cin >> a >> b >> c;
    
    cout << c / a;
}


题目二:赢得次数

赢的次数 (nowcoder.com)

ACM练习——第五天_第2张图片

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

非常正确,但是足够单纯

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

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;
}


题目三:小竹与妈妈

小竹与妈妈 (nowcoder.com)

ACM练习——第五天_第3张图片

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

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;
}


题目四:最小的数字

最小的数字 (nowcoder.com)

ACM练习——第五天_第4张图片

也是一道简单题,只需要找到比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;
}


题目五:猜拳游戏

猜拳游戏 (nowcoder.com)

ACM练习——第五天_第5张图片

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

代码示例:
 

#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;
}


题目六:小杜要迟到了

ACM练习——第五天_第6张图片

 ACM练习——第五天_第7张图片

ACM练习——第五天_第8张图片

先分析,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[▓▓] 晚安

你可能感兴趣的:(C++之路,我的算法记录,c++,算法)