• 大整数因子(高精mod)


    大整数的因子

    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

    已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。

    输入
    一个非负整数c,c的位数<=30。
    输出

    若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。

    样例输入

    30
    

    样例输出

    2 3 5 6

    代码

    高精模运算

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    using namespace std;
    int x[100],y[100],k[100],j=0,m,n;
    char a[100],b[100];
    int main()
    {
        scanf("%s",a);
        m=strlen(a);
        for(int i=0; i<=m; i++) 
            x[i+1]=a[i]-'0';
        for(int p=2; p<=9; p++) 
        {
            memcpy(k,x,sizeof(x));
            for(int i=1; i<=m+1; i++) 
            {
                k[i+1]+=(k[i]%p)*10;
                y[i]=k[i]%p;
                k[i]=k[i]/p;
            }
            if(y[m]==0) 
            {
                cout<<p<<" ";
                j++;
            } 
        }
        if(j==0)cout<<"none";
        return 0;
    }

    ZlycerQan

    #include <iostream>
    using namespace std;
    int a[10],f=0;
    string t;
    int main()
    {
        cin >> t;
        for (int i = 0; t[i]; i++)
            for (int j = 2; j <= 9; j++)
                a[j] = (a[j] * 10 + t[i] - '0') % j;
        for (int i = 2; i <= 9; i++)
        if (!a[i])
        {
            cout << i << ' '; 
            f = 1;
        }
        if (!f) 
            cout<<"none";
        return 0;
    }
  • 相关阅读:
    ZOJ 3656Bit Magic解题报告——2sat问题建图总结
    gcc和g++的区别
    07车展,流水账。。
    放开思维啊~~~
    SC2和其他
    幻觉~
    去横店咯~
    ETS。。New G。。
    老子毕业鸟。。。
    gcc常用参数和环境变量小结
  • 原文地址:https://www.cnblogs.com/thmyl/p/6159052.html
Copyright © 2020-2023  润新知