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

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

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

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

#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;
}

相关推荐

  1. C语言精度加法

    2023-12-13 22:32:03       57 阅读
  2. C语言精度减法

    2023-12-13 22:32:03       74 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-13 22:32:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-13 22:32:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-13 22:32:03       82 阅读
  4. Python语言-面向对象

    2023-12-13 22:32:03       91 阅读

热门阅读

  1. leetcode做题笔记2697. 字典序最小回文串

    2023-12-13 22:32:03       64 阅读
  2. 利用断路器状态统计sentinel熔断次数

    2023-12-13 22:32:03       69 阅读
  3. Json格式化

    2023-12-13 22:32:03       71 阅读
  4. ThreadLocal和InheritableThreadLocal

    2023-12-13 22:32:03       57 阅读
  5. vue3父子传值实现弹框功能

    2023-12-13 22:32:03       59 阅读
  6. CentOS 7 部署pure-ftp

    2023-12-13 22:32:03       60 阅读
  7. LeetCode //C - 1. Two Sum

    2023-12-13 22:32:03       62 阅读