大数除法

大整数的因子

http://www.nowcoder.com/questionTerminal/3d6cee12fbf54ea99bb165cbaba5823d

大数除法的改编版,大数求余

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
//本题是大整数除法
int divideString(string a,int x)
{
    int remainder=0;
    for(int i=0;i<a.size();i++)
    {
        int num=remainder*10+a[i]-'0';
        a[i]=num/x+'0';
        remainder=num%x;
    }
    if(remainder)
        return remainder;
    return 0; 
} 
using namespace std;
int main()
{
    string c;
    while(cin>>c)
    {
        if(c=="-1")
            break;
        int sum=0;
        for(int i=2;i<10;i++)
        {
            //cout<<"div:"<<divideString(c,i)<<endl;
            if(divideString(c,i)==0)
            {
                printf("%d ",i);
                sum++;
            }
        }
        if(!sum)
            printf("none\n");
        else 
            printf("\n");        
    }
    return 0;
} 
全部评论

相关推荐

8 收藏 评论
分享
牛客网
牛客企业服务