1308:【例1.5】高精除

简介: 1308:【例1.5】高精除

1308:【例1.5】高精除

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

高精除以高精,求它们的商和余数。

【输入】

输入两个低于300位的正整数。

【输出】

输出商和余数。

【输入样例】

1231312318457577687897987642324567864324567876543245671425346756786867867867

1231312318767141738178325678412414124141425346756786867867867

【输出样例】

999999999748590

179780909068307566598992807564736854549985603543237528310337

【来源】

No

1. #include <cstdio>
2. #include <cstring>
3. #include <iostream>
4. using namespace std;
5. int a[101],b[101],c[101],d,i;
6. void init(int a[]){//读取字符串并逆序转换为数组 
7.  string s;
8.  cin>>s;
9.  a[0]=s.length();
10.   for(i=1;i<=a[0];i++)
11.     a[i]=s[a[0]-i]-'0';
12. } 
13. void print(int a[]){//打印输出函数 
14.   int i;
15.   if(a[0]==0){
16.     cout<<0<<endl;
17.     return;
18.   }
19.   for(i=a[0];i>0;i--) cout<<a[i];
20.   cout<<endl;
21.   return;
22. } 
23. int compare(int a[],int b[]){//比较函数 
24.   int i;
25.   if(a[0]>b[0]) return 1;
26.   if(a[0]<b[0]) return -1;
27.   for(i=a[0];i>0;i--){
28.     if(a[i]>b[i]) return 1;
29.     if(a[i]<b[i]) return -1;
30.   }
31.   return 0; 
32. } 
33. void jian(int a[],int b[]){//计算函数 a=a-b 
34.   int flag,i;
35.   flag=compare(a,b);
36.   if(flag==0){
37.     a[0]=0;
38.     return;
39.   }
40.   if(flag==1){
41.     for(i=1;i<=a[0];i++){
42.       if(a[i]<b[i]){
43.         a[i+1]--;
44.         a[i]+=10;
45.       }
46.       a[i]-=b[i];
47.     }
48.     while(a[0]>0&&a[a[0]]==0) a[0]--;//修正位数 
49.     return; 
50.   }
51. }
52. void numcpy(int p[],int q[],int det){//将p数组拷贝到q数组det的位置上 
53.   for(int i=1;i<=p[0];i++) q[i+det-1]=p[i];
54.   q[0]=p[0]+det-1;//更新长度 
55. }
56. void chugao(int a[],int q[],int c[]){
57.   int i,tmp[101];
58.   c[0]=a[0]-b[0]+1;
59.   for(i=c[0];i>0;i--){
60.     memset(tmp,0,sizeof(tmp));
61.     numcpy(b,tmp,i);
62.     while(compare(a,tmp)>=0) {
63.       c[i]++;
64.       jian(a,tmp);
65.     }
66.   }
67.   while(c[0]>0&&c[c[0]]==0) c[0]--;//修正位数 
68.   return;
69. }
70. int main()
71. {
72.   memset(a,0,sizeof(a));
73.   memset(b,0,sizeof(b));
74.   memset(c,0,sizeof(c));
75.   init(a),init(b);
76.   chugao(a,b,c);
77.   print(c);
78.   print(a);
79.   return 0;
80.  }

 

相关文章
|
23天前
|
传感器 机器学习/深度学习 算法
植保机器人视觉传感器与图像采集
植保机器人视觉传感器与图像采集
42 3
|
23天前
|
机器学习/深度学习 人工智能 数据可视化
ACES 增强版不丹水稻作物地图(2016-2022 年)
ACES 增强版不丹水稻作物地图(2016-2022 年)
27 3
|
23天前
|
传感器 编解码 算法
全球主要高光谱遥感卫星介绍
全球主要高光谱遥感卫星介绍
|
23天前
|
编解码 大数据 定位技术
遥感数据、气象数据、土地土壤数据、农业数据、行政区数据...GIS数据获取网站整理
遥感数据、气象数据、土地土壤数据、农业数据、行政区数据...GIS数据获取网站整理
287 2
|
11月前
|
算法
高精除以高精
高精除以高精
|
机器学习/深度学习 传感器 编解码
高精地图落地 | InstaGraM:实时端到端矢量化高精地图新SOTA!
论文提出回归距离转换地图,因为它们在顶点之间提供了强大的空间关系和方向信息,而不是依赖于普通的分割方法。在nuScenes数据集上的综合实验表明,InstaGraM比HDMapNet高13.7mAP,并实现了与VectorMapNet相当的精度,推理速度提高了5倍。
高精地图落地 | InstaGraM:实时端到端矢量化高精地图新SOTA!
|
算法 自动驾驶 安全
高精地图、车路协同与自动驾驶是什么关系?
如何看待当前的纯视觉的、不依赖于高精度地图的自动驾驶解决方案?
308 0
高精地图、车路协同与自动驾驶是什么关系?
|
定位技术
高分、环境等国产遥感卫星影像的获取方法
本文介绍高分(GF)与环境(HJ)等主要国产卫星遥感数据的免费下载(包括批量下载)方法~
668 2
高分、环境等国产遥感卫星影像的获取方法
多种卫星遥感数据反演光合有效辐射数据服务
多种卫星遥感数据反演光合有效辐射数据服务
多种卫星遥感数据反演光合有效辐射数据服务
3D测绘和建模在地图中的应用
本文研究全球及中国市场3D测绘和建模在地图中的应用现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势

热门文章

最新文章