C语言:高精度除法(除低精度)

P1480 A/B Problem - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

由图知,被除数的上一位的余数乘10加这位就是这一位结果的除数。

c[i] = (d * 10 + a[i]) / b

cpp 复制代码
#include<stdio.h>
#include<string.h>
char x[50005];//存储被除数,转为字符串方便计算长度
long long b;//存储除数,转为字符串方便计算长度
int a[50005];//存储被除数,转为整型方便计算
int c[50005];//存储结果
long long d;//做余数
int main()
{
	scanf("%s", x);
	scanf("%lld", &b);
	size_t la = strlen(x);//计算被除数的长度
	for (int i = 1; i <= la; i++)
	{
		a[i] = x[i-1] - '0';//顺序存储被除数的每一位
	}
	for (int i = 1; i <= la; i++)
	{
		c[i] = (d * 10 + a[i]) / b;//前一个数剩余的余数乘10加当前位的数
		d = (d * 10 + a[i]) % b;//计算余数
	}
	int lc = 1;
	while (c[lc] == 0&&lc<la)
	{
		lc++;//去除前面的0
	}
	for (int i = lc; i <= la; i++)
	{
		printf("%d", c[i]);
	}
	return 0;
}
相关推荐
宵时待雨6 分钟前
C++笔记归纳13:map & set
开发语言·数据结构·c++·笔记·算法
xiangpanf8 分钟前
PHP与Vue:前后端技术深度对比
开发语言·vue.js·php
1104.北光c°1 小时前
滑动窗口HotKey探测机制:让你的缓存TTL更智能
java·开发语言·笔记·程序人生·算法·滑动窗口·hotkey
for_ever_love__2 小时前
Objective-C学习 NSSet 和 NSMutableSet 功能详解
开发语言·学习·ios·objective-c
仰泳的熊猫5 小时前
题目2570:蓝桥杯2020年第十一届省赛真题-成绩分析
数据结构·c++·算法·蓝桥杯
似水明俊德8 小时前
02-C#.Net-反射-面试题
开发语言·面试·职场和发展·c#·.net
无极低码8 小时前
ecGlypher新手安装分步指南(标准化流程)
人工智能·算法·自然语言处理·大模型·rag
爱编码的小八嘎9 小时前
C语言完美演绎4-7
c语言
软件算法开发9 小时前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化