SGU

阅读: 评论:0

SGU

SGU

题意:

思路:

打素数表,素因子分解


#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<cmath>
#include<set>
#include<queue>
#include<stack>
#include<map>
#define PI acos(-1.0)
#define in freopen(&#", "r", stdin)
#define out freopen(&#", "w", stdout)using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 1e6 + 7, maxd = 1000 + 7;
const ll mod = 1e9 + 7;
const int INF = 0x7f7f7f7f;
int dx[4] = {0, 0, 1, -1};
int dy[4] = {1, -1, 0, 0};bool p[maxn];
vector<int> prim;
int a, b;void init() {memset(p, 1, sizeof p);p[0] = p[1] = 0;for(int i = 4; i < maxn; i += 2) {p[i] = 0;}prim.push_back(2);for(int i = 3; i < maxn; i += 2) {if(p[i]) {prim.push_back(i);for(int j = i+i; j < maxn; j += i)p[j] = 0;}}
}int work(int n) {int cnt = 0;vector<int> t;while(n > 1) {if(n % prim[cnt] == 0) {t.push_back(prim[cnt]);while(n % prim[cnt] == 0) {n /= prim[cnt];}}cnt++;}int d;d = t[(t.size()-1)];int sum = 0;for(int i = 0; i < (t.size()-1); ++i)sum += t[i];return (d - sum);
}int main() {init();while( ~scanf("%d %d", &a, &b) && (a+b) ) {a = work(a);b = work(b);printf( a > b ? "an" : "bn" );}return 0;
}


本文发布于:2024-01-30 20:42:41,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170661856322701.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:SGU
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23