题解:洛谷 P9226 糖果

【题目来源】

洛谷:P9226 糖果 - 洛谷

【题目描述】

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

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

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

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

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

【输入】

一行两个整数 \(n, k\)

【输出】

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

【输入样例】

10 3

【输出样例】

2

【算法标签】

《洛谷 P9226 糖果》 #洛谷月赛# #2023# #O2优化#

【代码详解】

#include <bits/stdc++.h>
using namespace std;

int n, k;  // n: 总数,k: 每组人数

int main()
{
    cin >> n >> k;  // 读入总数和每组人数
    
    // 计算最后一组不足k人时,还需要多少人才能凑满一组
    // n % k 得到最后一组的人数
    // k - n % k 得到还需要的人数
    cout << k - n % k;
    
    return 0;
}

【运行结果】

10 3
2
posted @ 2026-02-15 21:57  团爸讲算法  阅读(2)  评论(0)    收藏  举报