题目描述
学校体艺节前要维修运动场。有一条长度N米的跑道,跑道边上要用地砖铺垫,地砖有2种型号,1种长度是A米,另一种长度是B米,但你只能采用一种型号地砖铺垫。
地砖有可能浪费一些零头,比如:N=10,A=8,A型砖要2块,会浪费6米。
现在老师要求晨晨通过编计算机程序来计算最少会浪费多少米?
输入
输入N,A,B的值。(各数均为大于0小于10000的整数)
输出
一个整数,最少浪费的长度。
样例输入 Copy
10 3 7
样例输出 Copy
2
提示:
4块A型砖浪费2米;2块B型砖浪费4米。用A型地砖浪费最少。
本题主要应用选择
解题思路:可以从样例中倒推,需要注意的是需要考虑如果没有超出的情况。本题使用选择结构(if…else…)该结构来判断是否超出的两种情况。
还需注意比较两个数的大小需要借助第三个量进行比较。例如相比较a和b的大小可以借助一个量(t)即t=a,a=b,b=t;这样就把t的值赋值给了b.
#include<bits/stdc++.h>
using namespace std;
int main()
{
int N,A,B,e,f,d;
cin>>N>>A>>B;
e=A-(N%A);
f=B-(N%B);
**if**(N%A==0||N%B==0)
cout<<0;
**else**
{
*if*(e>f)
{
d=f,f=e,e=d;
cout<<d;
}
*else*
{
d=e,e=f,f=d;
cout<<d;
}
}
return 0;
}