《信息学奥赛一本通》高精除以高精,求它们的商和余数。
代码
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
int a[101],b[101],c[101],d,i;
void init (int a[])
{//读入字符串s,用a[0]计算字符串s的位数,将数串s转换为数组a,并倒序存储。string s;cin>>s;//读入字符串sa[0]=s.length();//用a[0]计算字符串s的位数for(i=1;i<=a[0];i++);{//将数串s转换为数组a,并倒序存储a[i]=s[a[0]-i]-'0';}
}
void print(int a[])
{//打印输出int i;if(a[0]==0){cout<<0<<endl;return ;}for(i=a[0];i>0;i--){cout<<a[i];}cout<<endl;return ;
}
int compare(int a[],int b[])
{//比较a和b的大小关系,若a>b则为1,若a<b则为-1,若a=b则为0int i;if(a[0]>b[0]){return 1;}if(a[0]<b[0]){return -1;}for(i=a[0];i>0;i--){if(a[i]>b[i]){return 1;}if(a[i]<b[i]){return -1;}}return 0;
}
void jian(int a[],int b[])
{int flag,i;flag=compare(a,b);//调用比较函数判断大小if(flag==0){a[0]=0;return ;}if(flag==1){for(i=1;i<=a[0];i++){if(a[i]<b[i]){//若不够减则向上借一位a[i+1]--;a[i]+=10;}a[i]-=b[i];}while(a[0]>0&&a[a[0]]==0){//修正a的位数a[0]--;}return ;}
}
void numcpy(int p[],int q[],int det)
{//复制p数组到q数组从det开始的地方for(int i=1;i<=p[0];i++){q[i+det-1]=p[i];}q[0]=p[0]+det-1;
}
void chugao(int a[],int b[],int c[])
{int i,tmp[101];c[0]=a[0]-b[0]+1;for(i=c[0];i>0;i--){memset(tmp,0,sizeof(tmp));//数组清零numcpy(b,tmp,i);while (compare(a,tmp)>0){//用减法来模拟c[i]++;jian(a,tmp);}}while(c[0]>0&&c[c[0]]==0){c[0]--;}return ;
}
int main ()
{memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));init(a);init(b);chugao(a,b,c);print(c);print(a);return 0;
}
《信息学奥赛一本通》高精除以高精,求它们的商和余数。相关推荐
- 《信息学奥赛一本通(C++版)》求校体操队的人数
来源:<信息学奥赛一本通(C++版)>P65 [题目描述] 例4.11 校体操队到操场集合,排成每行2人,最后多出1人;排成每行3人,也多出1人:分别按每行4.5.6人,都多出1人:当排成 ...
- 信息学奥赛一本通 1175:除以13 | OpenJudge NOI 1.13 27:除以13
[题目链接] ybt 1175:除以13 OpenJudge NOI 1.13 27:除以13 [题目考点] 1. 高精度 考察:高精除低精 高精模低精 高精度计算讲解 [题解代码] 解法1:使用函数 ...
- 信息学奥赛一本通 1397:简单算术表达式求值 | OpenJudge NOI 1.12 01:简单算术表达式求值
[题目链接] ybt 1397:简单算术表达式求值 OpenJudge NOI 1.12 01:简单算术表达式求值 [题目考点] 1. 函数 2. 选择结构 [解题思路] 这一章节都是练习函数,那么这 ...
- 信息学奥赛一本通(1251:仙岛求药)
1251:仙岛求药 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 11479 通过数: 4968 [题目描述] 少年李逍遥的婶婶病了,王小虎介绍他去一趟仙 ...
- 信息学奥赛一本通 1308:【例1.5】高精除
[题目链接] ybt 1308:[例1.5]高精除 [题目考点] 1. 高精度 考察:高精除以高精 高精度计算讲解 [题解代码] 解法1:使用数组与函数 #include<bits/stdc++ ...
- 信息学奥赛一本通(1308:【例1.5】高精除)
1308:[例1.5]高精除 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 9100 通过数: 4302 [题目描述] 高精除以高精,求它们的商和余数. ...
- 高精除(信息学奥赛一本通-T1308)
[题目描述] 高精除以高精,求它们的商和余数. [输入] 输入两个低于300位的正整数. [输出] 输出商和余数. [输入样例] 12313123184575776878979876423245678 ...
- 信息学奥赛一本通:1308:【例1.5】高精除
1308:[例1.5]高精除 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 15501 通过数: 7597 [题目描述] 高精除以高精,求它们的商和余数. ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 信息学奥赛一本通 (C++)上机练习
信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...
最新文章
- 清华大学人工智能研究院成立听觉智能研究中心,将专注基础研究和成果产业化
- 071_html语言代码
- IPSEC ***两个阶段的协商过程
- Struts(十四):通用标签-form表单
- 项目进度计划表(模板)_开工必备!excel表一键绘图,施工进度计划横道图从此不用愁...
- 两个MYSQL数据同步的SHELL脚本
- php 加tab键,php 生成Tab键或逗号分隔的CSV
- KaTeX parse error: No such environment: align
- 第一次JAVA课,第一次课堂考,课后感受
- java heapdump 分析工具_heapdump分析工具
- 我的个人博客live2d插件模型模块汇总(仅本人可使用,无需看)
- kaggle TMDB5000电影数据分析和电影推荐模型数据分析相关函数解释参考文章:
- 图片jpg格式怎么转换
- 云服务器部署 Web 项目
- 腾讯互娱技术总监张正:《天涯明月刀》后台技术创新
- 拒绝平庸 保罗格雷厄姆_保罗·格雷厄姆(Paul Graham):微软无法处理Y组合器
- 2021-07-11
- 平板电脑必装十大软件_知乎高赞回答:职场新人必装的电脑软件有哪些?太全了!...
- 做网站需要多少钱?做网站的费用是多少呢?
- Java面试那点事——网络200302
热门文章
- C语言 条件编译(if )
- OSGI 插件操作命令
- 黑马程序员——Java集合基础知识之Map
- ytu 1980:小鼠迷宫问题(DFS 深度优先搜索)
- Silverlight3 Tools Download link
- [**奇文共赏**补充问题] 据说看五遍能懂的人智商 200
- 随机生成元素升序向量_推荐系统中用户向量的表示学习
- python论文格式检查系统_论文格式检查软件
- java屏蔽关键字_替换禁用语(指定关键字)的过滤器
- java编译时多态和运行时多态_运行时多态、编译时多态和重载、重写的关系(不区分Java和C#,保证能看懂!)...