题意:
略
思路:
打素数表,素因子分解
#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小时内删除。
留言与评论(共有 0 条评论) |