大数除法(除数在int范围内)
2024-08-30 22:15:56
#include<iostream>
#include<cstdio>
#include<cstring>
#define N 1000
using namespace std;
void division(char bcs[],int cs,char res[]) //被除数为大数,除数为int范围内
{
int i,k,len,t=0,s=0;
bool flag=false; //商是否有了第一个有效位,防止商首部一直出现0
len=strlen(bcs);
for(i=0,k=0; i<len; i++)
{
t=s*10+(bcs[i]-48); //新余数
if(t/cs>0||t==0) //余数为0要修改商
{
res[k++]=t/cs+48;
s=t%cs;
flag=true;
}
else //不够除,修改余数
{
s=t;
if(flag) //商已经有有效位了,补零
res[k++]='0';
}
}
for(i=0;i<k;i++)
cout<<res[i];
cout<<endl;
cout<<s<<endl;
}
int main()
{
char num[N],res[N];
int n;
scanf("%s%d",num,&n);
division(num,n,res);
return 0;
}
最新文章
- Android笔记:菜单
- Portlet简述
- c#中对rgb的使用
- SPSS常用基础操作(1)——变量分组
- ipad或iPhone 访问https网站不成功
- A Personal Selection of Books on E lectromagnetics and Computational E lectromagnetics---David B. Davidson
- JS解析json数据并将json字符串转化为数组的实现方法
- Python的面向对象3
- Qt编程之UI与控件布局
- 读书笔记 effective c++ Item 11 在operator=中处理自我赋值
- HTML5 Audio/Video 标签,属性,方法,事件汇总 (转)
- js中的稀疏数组和密集数组
- 第二次作业:软件分析之Steam的前世今生
- ubuntu 18.04安装docker以及docker内配置neo4j
- Timestamp “时间戳” - 术语
- c/c++ 网络编程与多线程 编译参数
- Linux shell判断文件和文件夹是否存在(转发)
- phpcms的一些问题 乱码,安装
- Git(五)IDEA应用Git
- Asp.net中操作Excel的代码解析