大数 除法
来源:互联网 发布:网络电视在哪里看电视 编辑:程序博客网 时间: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; }