解题:Davor
2023-08-14 11:11:15
发布于:广东
0阅读
0回复
0点赞
空降坐标:CP005452
来源:[COCI-2017_2018-contest6]#3
翻译:
题目描述:
在成功征服南极后,Davor正在为新的挑战做准备。接下来是前往西伯利亚、格陵兰岛和挪威的北极探险队。他将于2018年12月31日开始旅
行,届时需要领取N库纳(克罗地亚货币)。为了做到这一点,他决定每周一将X(X≤100)库纳存入他的旅行基金,每周二将X+K库纳存入,
每周三将X+2K库纳放入,以此类推,直到周日,届时他将筹集X+6K库纳。这样,他将从2018年1月1日(星期一)到2018年12月30日(星期
日)收集52周的资金。
如果我们知道货币数量N,那么输出值X和K,这样就可以在给定的时间跨度内收集到确切的货币数量。该解将始终存在,如果存在多个,则
输出X最大、K最小的解。
输入格式:
输入的第一行包含整数N (1456≤N ≤ 145600)
输出格式:
输出的第一行必须包含的值X(0<X≤ 100), 第二个是K(K> 0).
请看代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,x=100,k=1;
cin>>n;
while(true)
{
if((x*52)+((x+k)*52)+((x+2*k)*52)+((x+3*k)*52)+((x+4*k)*52)+((x+5*k)*52)+((x+6*k)*52)==n)
{
cout<<x<<endl<<k;
break;
}
x--;
if(x<=0)
{
k++;
x=100;
}
}
}
这里空空如也
有帮助,赞一个