首页 > 其他 > 详细

乘方相加

时间:2021-06-26 23:32:01      阅读:31      评论:0      收藏:0      [点我收藏+]

乘方相加

AcWing 3727
https://www.acwing.com/problem/content/3730/
10进制数转k进制数 每个位上最大为1 超过则不能转化

代码

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;
typedef long long LL;

const int N = 100;
int s[N];

int main()
{
    int T;
    cin >> T;
    while (T--)
    {
        int n,k;
        cin >> n >> k;
        memset(s, 0, sizeof s);
        while (n--)
        {
            LL x;
            cin >> x;
            for (int j = 0; x ; j ++,x /= k)//10进制转k进制
                s[j] += x % k;
        }
        
        bool flag = false;
        for (int i = 0; i < N; i ++ )
            if (s[i] > 1) flag = true;
            
        if (flag) puts("NO");
        else puts("YES");
    }
    return 0;
}

乘方相加

原文:https://www.cnblogs.com/lijiaji/p/14939284.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!