【高精度】高精度数除以低精度数I

问题 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 }
View Code

 

posted @ 2018-07-16 19:59  Scott_Wong  阅读(764)  评论(0)    收藏  举报