c++题目:切香肠
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; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)