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

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

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

ci = (d * 10 + ai) / 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;
}
相关推荐
phoenix@Capricornus5 分钟前
从统计决策到贝叶斯估计
人工智能·算法·机器学习
运维行者_9 分钟前
企业带宽监控工具实战:网络流量分析与异常排查的5个关键能力
运维·服务器·开发语言·网络·分布式·后端·php
Patrick在香港11 分钟前
Python爬虫框架实战:优雅抓取香港政府公开API数据的通用方案
java·开发语言·爬虫·python·ai编程·数据可视化·可用性测试
AICDragon14 分钟前
1.8%就够了:K3的896个MoE专家,为什么激活率这么低反而是好事?
人工智能·算法
hey_sml20 分钟前
MySQL常用操作速记:从字符集到游标全解析
java·开发语言·mysql
广东程序猿小展20 分钟前
《007初露锋芒》风灵月影13项修改器下载 007初露锋芒修改器使用方法
开发语言·javascript·ecmascript
VALENIAN瓦伦尼安教学设备33 分钟前
ASHOOTER激光对中仪如何通过颜色确定调整是否合适
数据库·嵌入式硬件·算法
货拉拉技术34 分钟前
重塑 Agent 度量衡:基于 LLM-as-a-Judge 的离线评估体系与实践
算法·设计模式
wuminyu35 分钟前
JDK21解决虚拟线程IO阻塞原理剖析
java·linux·c语言·jvm·c++
车压1 小时前
从“为什么”理解注意力机制
算法