问题 G: 【高精度】高精度数除以低精度数I
时间限制: 1 Sec 内存限制: 512 MB提交: 170 解决: 70
[提交] [状态] [讨论版] [命题人:admin]
题目描述
修罗王聚集了庞大的暗元素以施展隐匿魔法,该魔法施展后将对其周边的时空产生隐匿效果,当然,隐匿的效果好坏取决于是否将暗元素平均地分配在其周边时空,显然这涉及高精度除法的编程。考虑到邪狼的理解能力,修罗王不得不先将问题简化为:输入一被除数(位数≤5000),输入一除数(整型数据范围内),输出整数商,忽略小数。
输入
共两行,第1行为一个数字字符串,即被除数,第2行为一个整数,即除数。
输出
输出整数商,忽略小数。
样例输入
20
5
样例输出
4
模拟除法运算
1 #include <iostream> 2 #include<string> 3 using namespace std; 4 string s,t; 5 int n,a[6000]; 6 int main() 7 { 8 cin>>s>>n; 9 int len=s.size(),d=0; 10 if(s=="0") 11 { 12 cout<<"0"<<endl; 13 return 0; 14 } 15 for(int i=0;i<len;i++) 16 { 17 t+=(d*10+(s[i]-'0'))/n+'0'; 18 d=(d*10+(s[i]-'0'))%n; 19 } 20 int p=0; 21 for(int i=0;i<t.size();i++) 22 if(t[i]!='0') 23 { 24 p=i; 25 break; 26 } 27 cout<<t.substr(p)<<endl; 28 return 0; 29 }