打卡信奥刷题(011)用C++信奥P9226[普及组/提高] 糖果

糖果

题目描述

三年级七班共有 n n n 名同学。体育课开始,他们从左到右站成了一排,准备进行报数分组。

体育老师口袋里有很多袋装的糖果(一个袋子里有很多糖果),他准备在分组的过程中顺便将这些袋装糖果分给同学们。

具体地,在从左到右报数的过程中,每报数 k k k 名同学,体育老师就会将这 k k k 名同学划为一组,同时给予这 k k k 名同学中的最后一名一袋糖果,让这最后一名同学来负责分发给组内的同学。也就是说,体育老师会依次给从左到右第 k , 2 k , ⋯ k,2k,\cdots k,2k, 名同学一袋糖果。

恰巧,三年级六班的同学听到了三年级七班发糖果的消息,于是他们打算混入队伍的末尾(即队伍最右侧),企图白嫖到一袋糖果。

三年级六班的同学想知道,他们至少需要向队伍末尾混入多少人。

输入格式

一行两个整数 n , k n, k n,k

输出格式

一行一个整数,表示答案。

样例 #1

样例输入 #1

10 3

样例输出 #1

2

样例 #2

样例输入 #2

16 4

样例输出 #2

4

提示

样例 1 解释

此时每 3 3 3 人分一组。三年级六班只需要向队伍中混入 2 2 2 名同学,就可以和原来三年级七班的最后 1 1 1 名同学一同凑成一组。

由于混入的这 2 2 2 名同学在队伍的末尾,因此这一组中的最后一名同学一定是隔壁班的同学,因此隔壁班的同学可以白嫖到一袋糖果。

样例 2 解释

此时每 4 4 4 人分一组。三年级七班的所有同学都已经分好了组,因此三年级六班需要完整地向队伍中混入 4 4 4 名同学凑成一组,才能白嫖到一袋糖果。

数据规模与约定

对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 1 0 9 1 \leq n \leq 10 ^ {9} 1n109 2 ≤ k ≤ 1 0 9 2 \leq k \leq 10 ^ 9 2k109

测试点编号 n n n k k k
1 ∼ 2 1 \sim 2 12 ≤ 10 \leq 10 10 = 2 = 2 =2
3 ∼ 5 3 \sim 5 35 ≤ 10 \leq 10 10 ≤ 10 \leq 10 10
6 ∼ 10 6 \sim 10 610 ≤ 1000 \leq 1000 1000 ≤ 1000 \leq 1000 1000
11 ∼ 14 11 \sim 14 1114 ≤ 1 0 9 \leq 10 ^ 9 109 = 2 = 2 =2
15 ∼ 20 15 \sim 20 1520 ≤ 1 0 9 \leq 10 ^ 9 109 ≤ 1 0 9 \leq 10 ^ 9 109

C++实现

#include

using namespace std;
int n,k;

int main(){
cin>>n>>k;
int ans = k-n%k;
cout<< ans;

return 0;

}
在这里插入图片描述

后续:

接下来我会不断用C++来实现信奥比赛中的算法题、C++考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值