zoukankan      html  css  js  c++  java
  • 51nod 1116 K进制下的大数 (暴力枚举)

    题目链接

    题意:中文题。

    题解:暴力枚举。

    #include <iostream>
    #include <cstring>
    
    using namespace std;
    
    const int MAXS = 1e5 + 10;
    const int MAXK = 36;
    
    char num[MAXS];
    
    int main(int argc, const char * argv[])
    {
        while (cin >> num)
        {
            int sum = 0;
            int len = (int)strlen(num);
            int MINK = 2;
            for (int i = 0; i < len; i++)
            {
                if (num[i] >= '0' && num[i] <= '9')
                {
                    if (num[i] - '0' + 1 > MINK)
                    {
                        MINK = num[i] - '0' + 1;
                    }
                    sum += num[i] - '0';
                }
                else
                {
                    if (num[i] - 'A' + 11 > MINK)
                    {
                        MINK = num[i] - 'A' + 11;
                    }
                    sum += num[i] - 'A' + 10;
                }
            }
    
            bool flag = true;
            for (int i = MINK; i <= MAXK; i++)
            {
                if (sum % (i - 1) == 0)
                {
                    flag = false;
                    cout << i << '
    ';
                    break;
                }
            }
            if (flag)
            {
                cout << "No Solution
    ";
            }
        }
    
        return 0;
    }
  • 相关阅读:
    大数据学习操作笔记
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    jstl标签,c:foreach无效的问题
    阅读笔记
    《高效能人士的7个习惯》
  • 原文地址:https://www.cnblogs.com/Ritchie/p/5764858.html
Copyright © 2011-2022 走看看