解题思路:
1.星期1筹集x元,星期二筹集x+k元,一直到周日,一共筹集52个星期,那么每星期筹集7x+21k元,要求当k和x为多少的时候,恰好满足
2.x的取值范围较小,并且要求x尽量大一些,那么可以通过暴力的方法让x从大到小依次枚举即可
3.外层循环枚举k的值,直到7x+21k=目标值的时候,输出x和k
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x,k=1;
cin>>n;
while(1)
{
for(x=100;x>=1;x--)//枚举x的值
{
if((7*x+21*k)*52==n)//如果结果等于目标值
{
cout<<x<<endl;//输出答案,结束程序
cout<<k;
return 0;
}
}
k++;//当x当前值不行的时候,k增大
}
return 0;
}