大数 除法

来源:互联网 发布:网络电视在哪里看电视 编辑:程序博客网 时间:2024/04/29 21:56
#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath> #define N 10003 using namespace std; void division(char * src,int n) {     int len = strlen(src),i,k,t=0,s=0;     char dest[N];     bool flag = true;    //商是否有了第一个有效位,防止商首部一直出现0         for(i=0,k=0; i<len; i++)     {         t = s*10+(src[i]-48);    //新余数         if(t/n>0 || t==0)        //余数为0要修改商         {             dest[k++] = t/n+48,s = t%n,flag = false;         }        else                    //不够除,修改余数         {             s = t;             if(!flag)            //商已经有有效位了,补零                 dest[k++] = '0';         }     }    // cout<<"余数:"<<s<<endl;     if(s==0)cout<<"Yes"<<endl;      else cout<<"No"<<endl;        /*for(i=0;i<k;i++)          cout<<dest[i];          cout<<endl;          */ } int main() {   char num[N];   int n;   cin>>n;   while(n--)   {      scanf("%s",num);       division(num,99);   }   system("pause"); return 0; }