SRM 599 D1L1:BigFatInteger,math

来源:互联网 发布:电视棒在淘宝上搜不到 编辑:程序博客网 时间:2024/04/30 02:55

题目:http://community.topcoder.com/stat?c=problem_statement&pm=12867&rd=15711


代码:

#include <algorithm>#include <functional>#include <numeric>#include <utility>#include <iostream>#include <sstream>#include <iomanip>#include <bitset>#include <string>#include <vector>#include <stack>#include <deque>#include <queue>#include <set>#include <map>#include <cstdio>#include <cstdlib>#include <cctype>#include <cmath>#include <cstring>#include <ctime>#include <climits>using namespace std;#define CHECKTIME() printf("%.2lf\n", (double)clock() / CLOCKS_PER_SEC)/*************** Program Begin **********************/class BigFatInteger {public:map < long long, long long > extractPrimeFactors(int x){map <long long, long long> ap;for (int p = 2; p * p <= x; p++) {int ex = 0;bool flag = false;while (x % p == 0) {flag = true;++ex;x /= p;}if (flag) {ap[p] = ex;}}if (x != 1) {ap[x] = 1;}return ap;}int minOperations(int A, int B) {int res = 0;auto ap = extractPrimeFactors(A);res = ap.size();int mxex = 0;for (auto it = ap.begin(); it != ap.end(); it++) {if (mxex < (*it).second) {mxex = (*it).second;}}for (int i = 1; i < mxex * B; i *= 2) {++res;}return res;}};/************** Program End ************************/


0 0
原创粉丝点击