每日练题5.21

U.拖拉机比赛

思路:

先计算每个阶层是否存在向下取整或向上取整,计为1

每一段都是前面几段与自身有无加的和

错误原因:

编译错误+语法结构错误

核心代码
 if(n*0.1%10 !=0) a[0]=1;
    else if(n*0.2 %10 !=0) a[1]=1;
    else if(n*0.3 %10 !=0) a[2]=1;
    
    for(int i=1;i<3;i++)
    {
        a[i]+=a[i-1];
    }
ac代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
    double n;
    cin>>n;
    int a[3]={0};
    double x=n*0.1;
    double y=n*0.2;
    double z=n*0.3;  //cout<<z-(int)z;
    if(x-(int)x !=0) a[0]=1; //cout<<a[0]<<endl;
    if(y-(int)y !=0) a[1]=1; //cout<<a[1]<<endl;
    if(z-(int)z !=0) a[2]=1; //cout<<a[2]<<endl;
    for(int i=1;i<3;i++)
    {
            a[i]+=a[i-1];
    }
    cout<<a[0]<<" "<<a[1]<<" "<<a[2];
    return 0;
}

T.排队领水

思路:

若a+b小于n,只看b后面的位置

若a+b>n,就比较复杂了

错误代码(80%)
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,a,b;
    cin>>n>>a>>b;
    int ans;
    if(a+b<=n) ans=b+1;
    else ans=n-a+1;
    cout<<ans;
    return 0;
}
ac代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,a,b;
    cin>>n>>a>>b;
    int ans;
    if(a+b<=n-1) ans=b+1;
    else ans=n-a;
    cout<<ans;
    return 0;
}

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值