分糖果
描述
红太阳幼儿园的小朋友们开始分糖果啦!
红太阳幼儿园有m个小朋友,n个糖果,你现在要把这个n个糖果分给小朋友们,为了不让小朋友们发生矛盾,你决定把这n个糖果平均分配给这m个小朋友,如果不够的话,需要从你自己手中的k个糖果中拿出一部分分给小朋友们,现在,你需要判断能不能完成平均分配,能则输出YES,不能输出NO
day14-02.zip
输入
第一行一个整数T(T<=1000),表示数据组数
每组数据有三个正整数,n,m,k(1<=n,m,k<=100000)
输出
T行,每行一个判断结果
输入样例 1
3
5 3 4
6 3 3
15 7 5
输出样例 1
YES
YES
NO
引用 皆我百晓生 小程序回复内容续答:
以下是一个可以实现该功能的C++代码示例:
#include <iostream>
using namespace std;
string canDistribute(int n, int m, int k) {
int average = n / m; // 平均分配的糖果数
int remain = n % m; // 剩余的糖果数
if (average <= k && (remain == 0 || k >= remain)) {
return "YES";
} else {
return "NO";
}
}
int main() {
int T;
cin >> T;
for (int i = 0; i < T; i++) {
int n, m, k;
cin >> n >> m >> k;
cout << canDistribute(n, m, k) << endl;
}
return 0;
}
解释说明:
canDistribute
函数用于判断是否能完成平均分配,接收三个参数:糖果数 n
、小朋友数 m
、自己手中的糖果数 k
,返回一个字符串,表示能否完成平均分配。main
函数中,首先读取输入的数据组数 T
,然后通过循环逐组读取每一组数据,并调用 canDistribute
函数判断能否平均分配,并输出结果。注意:以上代码是一种简单的实现方式,但可能存在某些边界情况没有考虑到。在实际应用中,还需要根据实际问题进行适当的错误处理和边界检查。
int T;
cin>>T;
for(int i=0;i<T;i++)
{
int n,m,k;
cin>>n>>m>>k;
if(n%m>0)
{
if((n%m+k)>=m)
{
cout<<"YES"<<endl;;
}
else
{cout<<"NO"<<endl;}
}else
{
cout<<"YES"<<endl;
}
}
#include <iostream>
int main() {
int T; // 数据组数
std::cin >> T;
for (int i = 0; i < T; ++i) {
int n, m, k; // n个糖果,m个小朋友,k个自己的糖果
std::cin >> n >> m >> k;
// 计算能否平均分配
int total_candies = n + k;
int candies_per_child = total_candies / m;
if (candies_per_child * m == total_candies) {
std::cout << "YES" << std::endl;
} else {
std::cout << "NO" << std::endl;
}
}
return 0;
}
#include <iostream>
#include <vector>
using namespace std;
int main() {
int T;
cin >> T;
vector<string>vt;
while (T--) {
int n, m, k;
cin >> n >> m >> k;
int totalCandies = n + k; // 总糖果数,包括从你自己手中拿出的糖果
if (totalCandies < m) {
vt.push_back("NO");
}
else if (totalCandies % m == 0) {
vt.push_back("YES");
}
else {
vt.push_back("NO");
}
}
for (int i = 0; i < vt.size(); i++)
cout << vt[i] << endl;
return 0;
}
【以下回答由 GPT 生成】
问题描述: 在红太阳幼儿园中,有m个小朋友和n个糖果。现在需要将这n个糖果平均分配给这m个小朋友。如果糖果不够平均分配,还可以从你手中的k个糖果中拿出一部分分给小朋友们。请判断是否能完成糖果的平均分配。
解决方案如下:
以下是相应的C++代码实现:
#include <iostream>
using namespace std;
int main() {
int T;
cin >> T; // 读取测试数据的组数
for (int t = 0; t < T; t++) {
int n, m, k;
cin >> n >> m >> k; // 读取糖果数量n,小朋友数量m和你手中的糖果数量k
int avg = n / m; // 计算每个小朋友分得的平均糖果数量
if (n % m != 0) { // 判断糖果数量是否能够被小朋友数量整除
cout << "NO" << endl;
continue;
}
if (avg >= 1) { // 判断avg是否大于等于1
cout << "YES" << endl;
continue;
}
if (k >= m - 1) { // 判断k是否大于等于m-1
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}
使用上述代码,可以解决该问题,并通过示例的测试数据。
【相关推荐】