在征服南极之后,Davor 开始了一项新的挑战。下一步是在西伯利亚、格林兰、挪威的北极圈远征。他将在 2018 年 12 月 31 日开始出发,在这之前需要一共筹集 n 元钱。他打算在每个星期一筹集 x 元,星期二筹集 x+k 元,……,星期日筹集 x+6k 元,并在 52 个星期内筹集完。其中 x,k 为正整数,并且满足 1 ≤ x ≤ 100.
现在请你帮忙计算 x,k 为多少时,能刚好筹集 n 元。
输入格式
一个整数 n ,表示要筹集的金钱数目。
输出格式
第一行输出 x,第二行输出 k。
保证答案存在,如果有多个答案,输出 x 尽可能大,k 尽可能小。
本题体面较为复杂,耐心看完会发现不是很难
首先,如果52周要收集n元钱,那么1周就要收集n/52元钱。
一周有7天,那么1周要收集7x元钱与(1 + 2 + 3 + 4 + 5 + 6 + 7)= 21k元钱。
所以一共是(7x + 21k)元
找到了数量关系,枚举就变得简单了
但要注意的是,由于输出 x 尽可能大,k 尽可能小,所以枚举x由大到小,枚举y由小到大。
code
复杂版:
#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin >> n;for(
本文发布于:2024-02-05 03:11:33,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170722642162475.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |