首页 > 代码库 > 2014 HDU多校弟八场H题 【找规律把】
2014 HDU多校弟八场H题 【找规律把】
看了解题报告,发现看不懂 QAQ
比较简单的解释是这样的:
可以先暴力下达标,然后会发现当前数 和 上一个数 的差值是一个 固定值,
而且等于当前数与i(第i个数)的商,
于是没有规律的部分暴力解决,有规律的套公式
//#pragma comment(linker, "/STACK:16777216") //for c++ Compiler#include <stdio.h>#include <iostream>#include <cstring>#include <cmath>#include <stack>#include <queue>#include <vector>#include <algorithm>#define ll long long#define Max(a,b) (((a) > (b)) ? (a) : (b))#define Min(a,b) (((a) < (b)) ? (a) : (b))#define Abs(x) (((x) > 0) ? (x) : (-(x)))using namespace std;const int INF = 0x3f3f3f3f;const int MAXN = 8000;const double eps = 1e-8;int main() { ll k, i, y, x, a, b, cnt = 1, z; while(cin >> x >> k) { if(x == 0 && k == 0) break; cout << "Case #" << cnt++ << ": "; for(i = 2; i <= k; ++i) { y = x; if(x % i != 0){ z = x / i; ++z; x = z * i; } a = x - y; b = x / i; if(a == b) break; } if(i <= k) x += (k - i) * b; cout << x << endl; } return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。