题目描述
gkgkgk喜欢1,所以他想问你在nnn的xxx进制和nnn的yyy进制表示中哪个1多?如果nnn的xxx进制表示中1的个数大于nnn的yyy进制表示中1的个数输出>>>,等于输出===,小于输出<<<
输入描述:
第一行一个整数TTT表示接下来有TTT组测试样例. 接下来T行,每行有三个整数n,x,yn,x,yn,x,y (1≤t≤10000,2≤x,y≤10,1≤n≤1e9)(1 \leq t \leq 10000,2 \leq x,y \leq 10,1 \leq n \leq 1e9)(1≤t≤10000,2≤x,y≤10,1≤n≤1e9)
输出描述:
对于每一个测试样例输出是大于,小于,还是等于
示例1
输入
复制3 10 2 3 4 2 3 15 2 3
3 10 2 3 4 2 3 15 2 3
输出
复制= < >
= < >
#include <iostream>
using namespace std;
int main() {
int n, x, y, c, cnt1 = 0, cnt2 = 0, a1, a2;
scanf("%d", &c);
for (int i = 0; i < c ; i++ ) {
scanf("%d %d %d", &n, &x, &y);
int n2=n;
cnt1 = 0, cnt2 = 0;
while (1) {
a1 = n % x;
if(a1 == 1)
cnt1++;
n = n / x;
if(n==0)
break;
}
while (1) {
a2 = n2 % y;
if(a2 == 1)
cnt2++;
n2 = n2 / y;
if(n2==0)
break;
}
if(cnt1==cnt2)
printf("=\n");
else if(cnt1>cnt2)
printf(">\n");
else if(cnt1<cnt2)
printf("<\n");
}
return 0;
}