百钱买百鸡题解
2026-03-25 17:15:29
发布于:浙江
14阅读
0回复
0点赞
学生版:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int c=0;
for(int x=0;7*x<=n;x++) {
int r=n-7*x;
if(r%4==0) {
int y=r/4;
int z=n-x-y;
if(z>=0&&z%3==0) {
c++;
}
}
}
cout<<c;
return 0;
}
老师版:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
//数学方法
//xyz是非负整数,z=n-x-y并且是3的倍数,并要满足7*x+4*y=n
int c=0;
for(int x=0;7*x<=n;x++) {//枚举的是x的数量,由7*x+4*y==n可知,7*x的取值范围是0~n
int r=n-7*x;
if(r%4==0) {
int y=r/4;//计算出y
int z=n-x-y;//计算出z
if(z>=0&&z%3==0) {
c++;
}
}
}
cout<<c;
return 0;
}
这里空空如也







有帮助,赞一个