#iai15c4. 切香肠(Cut Sausages)

切香肠(Cut Sausages)

切香肠(Cut Sausages)

题目描述

有 n 条香肠,每条香肠的长度相等。我们打算将这些香肠切开后分给 k 名客人,且要求每名客人获得一样多的香肠,且要将所有的香肠分配完,不做保留。

请问最少需要切几刀才能完成?一刀只能切断一条香肠,每一个客人都可以接受多段香肠。

输入格式

两个整数:n 与 k。

输出格式

单个整数:表示最少需要切几刀。

数据范围

  • 对于 40% 的数据,1 ≤ n,k ≤ 50;
  • 对于 70% 的数据,1 ≤ n,k ≤ 5000;
  • 对于 100% 的数据,1 ≤ n,k ≤ 5,000,000。
  • 对于附加数据,1 ≤ n,k ≤ 10¹⁵。

样例输入 #1

2 6

样例输出 #1

4

说明:两根香肠六人分,每根香肠切成3段,共4刀

样例输入 #2

6 2

样例输出 #2

0

说明:六根香肠两人分,不需要切

样例输入 #3

3 4

样例输出 #3

3

说明:在每根香肠的1/4处切开...

知识点与难度

本题涉及的知识点从属于 GESP 5级,难度等级:⭐⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 n,k≤10 / 特殊: n=k / 特殊: n>k
2 15 9~11 Hack: n=1,k=1 / Hack: k整除n / Hack: n=1
3 30 12~20 中规模 n,k≈100~5000 / 大规模 n,k≈5000000
4 25 21~25 随机 n,k=1~5000000 回归