c++题目:切香肠
题目
题目描述
有 n 条香肠,每条香肠的长度相等。我们打算将这些香肠切开后全部分给 k 名客人,且要求每名客人获得一样多的香肠。请问最少需要切几刀?注意一刀只能切断一条香肠,每个客人可以接受多段香肠。
输入格式
单独一行:两个正整数n 与 k。
输出格式
单个自然数:表示最少需要切几刀。
数据范围
对于 40%的数据,1≤n,k≤50;
对于 70%的数据,1≤n,k≤5000;
对于 100%的数据,1≤n,k≤5,000,000。
样例数据
输入:
2 6
输出:
4
说明:
两根香肠六人分,每根香肠切成3段,共4刀
输入:
6 2
输出:
0
说明:
六根香肠两人分,不需要切
输入:
3 4
输出:
3
说明:
在每根香肠的1/4处切开,有三人每人得到3/4根香肠,最后一人得到三个1/4长的香肠。
解法
一道模拟题,代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
scanf("%d%d",&n,&k);
if(n%k==0){
cout<<0;
return 0;
}
else if(k%n==0)
{
cout<<(k/n-1)*n;
}
else
{
cout<<n;
}
return 0;
}
标签:输出,题目,int,香肠,c++,输入
From: https://www.cnblogs.com/demc/p/16906202.html