CSDN 第44期周赛:贝博士的机械零件(C++)

题目名称:贝博士的机械零件

贝博士是个大忙人,他在设计和制造一台非常复杂的机械式计算机。 最近贝博士有一点烦恼,因为机械零件的种类繁多, 磨损又快,经费不太够用了。不过,他发现有一些机械零件在磨损以后,可以用若干同一型号的磨损旧零件重新回炉熔化 以后再铸造出一个该型号的新零件,符合这样的特点的机械零件称为可翻新零件。 于是贝博士请来了他的助手艾小姐,请 她统计一下有多少种型号的可翻新零件,每一种目前有多少存量又能以多少个旧零件重新回炉铸造出一个新零件,要求计 算出对应于每一种机械零件他最终能使用的零件个数。

题解

明显手中的存量p是一定会使用完的,其中使用过的零件数量不小于q个就要用q个使用过的零件造出一个新的的零件,所以用一个循环,条件为p>=q的时候,算出新造出的零件个数。

#include<bits/stdc++.h>
using namespace std;

int main(){
    int p,q,sum=0,m;    //p为开始时手中新零件存量,q个旧零件就可以造出一个新零件
    cin>>p>>q;
    sum = p;            //p是要全部使用掉的,直接让sum=p
    while(p>=q){
        m = p/q;        //计算要造出多少个新零件
        sum += m;       //使用这些新零件
        p = p % q;     //看余下多少旧零件
        p += m;        //注意造出的新零件使用后也是旧零件了
    }
    cout<<sum;
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值