高精度整数除以低精度整数

参考大神博客:https://blog.csdn.net/qq_41993986/article/details/80022796
因为最近在做一道蓝桥杯训练题时碰巧需要用到高精度数作除求余的题,高精度除以低精度整数,这篇代码运算简单,只涉及到了正数之间的运算,有时间再学习高精度除以高精度的算法

#include<stdio.h>
#include<string.h>
/*
	高精度除以低精度 
*/
//a为被除数,b为除数,c为商,返回值为余数 
int Hdividel(char *a,int b,char *c){
	int len,i,x=0;	//X为每一位数上计算值的余数 
	len=strlen(a);
	int a1[2000];
	for(i=0;i<len;i++)
		a1[i]=a[i]-48;		//转化为int型 
	for(i=0;i<len;i++){		//逐位计算 
		c[i]=(x*10+a1[i])/b+48;
		x=(x*10+a1[i])%b;
	}
	while(c[0]=='0'){	//删去前面所有'0'字符 
		for(i=1;i<=len;i++)
		c[i-1]=c[i];
	} 
	return x;	//返回余数 
}
int main(){
	int b,x;
	char a[100],c[100];
	scanf("%s%d",a,&b);
	x=Hdividel(a,b,c);
	printf("商:%s  余数:%d",c,x);
	return 0;
} 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HugeCalc 是一款高精度算法库(同时支持 MBCS + UNICODE 版),适合于大规模科学计算,尤其适用于数论、密码学等领域研究,其核心算法耗费作者十余年的心血。具有占用资源少、效率高、使用便捷、易二次开发、可移植性强、可扩展性好等特点。关键文件 HugeCalc.dll 虽然很小,却提供了公共函数接口 709 个(标准C++接口 473 个;标准C接口 236 个),且其计算速度完全可与大型专业数学工具软件媲美! 现已提供了如下功能: ⊙ 高精度快速加法 ⊙ 高精度快速减法 ⊙ 高精度快速乘法 ⊙ 高精度快速除法 ⊙ 高精度快速同余 ⊙ 高精度快速位运算 ⊙ 高精度快速乘方 ⊙ 高精度快速开方 ⊙ 超大整数快速取对数 ⊙ 高精度快速求排列 ⊙ 高精度快速求组合 ⊙ 高精度快速阶乘、双阶乘、素数阶乘 ⊙ 高精度快速计算 Fibonacci、Lucas 数列 ⊙ 高精度快速乘积取模 ⊙ 高精度快速数论倒数取模运算 ⊙ 高精度快速乘方取模(支持负指数) ⊙ 高精度快速求最大公约数(支持群组运算) ⊙ 高精度快速计算扩展最大公约数 ⊙ 高精度快速求最小公倍数(支持群组运算) ⊙ 高精度快速“等幂和”(支持群组运算) ⊙ 高精度快速任意进制转换 ⊙ 超大整数素性快速检测 ⊙ 生成随机超大(素)整数、快速生成最邻近素数 ⊙ 自由指定有效位运算 ⊙ 强大而灵活的输出 ⊙ 高精度计时器(有暂停、累计、复位等功能) 为了与广大网友分享 HugeCalc 带来的便捷,该版公开了 HugeCalc.dll 的所有接口文件(同时支持 MBCS + UNICODE 版),大家可以更自由地进行高精度计算或自开发,而无须再依赖于 Mathematica 等大型软件。 V6.x 新增了各种标准导入接口,可方便各种编程语言进行二次开发,如 C++、C、VB、Delphi 等。 V7.x 可自动侦测用户 CPU 的型号,并据此自动调整算法及相应参数,使在兼顾老式机器的前提下,可充分发挥现代及未来 CPU 的功效(如采用 SSE2 指令集、多核并行等)。 最新版下载地址:http://www.emath.ac.cn/software.htm#HugeCalc

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值