C语言 高精度除法
来源:互联网 发布:韩国代购淘宝店推荐 编辑:程序博客网 时间:2024/05/18 00:08
#include <stdio.h> #include <string.h> int len1,len2; char s1[905],s2[905]; int re[905]; void sub() { int i=0,j; while(1) { if(s1[i]=='0') i++; else { j=i; break; } } for(;i<len2;i++) s1[i]=s1[i]-s2[i]+'0'; for(i=len2-1;i>j;i--) //低位开始检测是否小于0 if(s1[i]<'0') { s1[i]+=10; s1[i-1]--; } } int main() { int i,p; scanf("%s%s",s1,s2); len1=strlen(s1); len2=strlen(s2); if(len1<len2 || (len1==len2 && strncmp(s1,s2,len2)<0)) //如果a<b,直接输出0 printf("0\n"); p=0; while(1) { re[p]=0; while(strncmp(s1,s2,len2)>=0) //一直进行减法,直到不能减为止 { sub(); re[p]++; } p++; if(len1==len2) break; for(i=len2-1;i>=0;i--) //在s2前面补0,以便进行减法运算 s2[i+1]=s2[i]; s2[0]='0'; len2++; s2[len2]='\0'; } i=0; while(1) { if(re[i]==0) i++; else break; } for(;i<p;i++) printf("%d",re[i]); return 0; }
—————————————————————————————————
本文原创自Slience的csdn技术博客。
本博客所有原创文章请以链接形式注明出处。
欢迎关注本技术博客,本博客的文章会不定期更新。
大多数人想要改造这个世界,但却罕有人想改造自己。
世上没有绝望的处境,只有对处境绝望的人。
————By slience
—————————————————————————————————
0 0
- C语言 高精度除法
- (C语言)高精度除法
- 【C++】高精度除法
- C-高精度除法
- C语言中两个整型数据的高精度除法
- OpenJudge百炼-2737-大整数除法-C语言-高精度计算
- c语言移位除法
- 大数除法 C语言
- 高精度除法
- 高精度除法
- 高精度除法
- 高精度除法
- 高精度除法
- 高精度除法
- 高精度除法
- 高精度除法
- 高精度除法
- 高精度除法
- UC编程6-目录操作和创建子进程fork()函数1
- HDU 1372 Knight Moves
- WEB安全编程(防止黑客攻击第一道关卡)
- Java Card CAP 文件组件分析 12—— Debug Component
- 灯火阑珊,谁在思念着谁?谁又在等待着谁?
- C语言 高精度除法
- VC6.0 编译器 功能 英文翻译
- 日专家评普京访华与中俄军演同期:对俄不利
- nutch-1.7-学习笔记(1)-org.apache.nutch.crawl.Injector.java-Filesystem.get()
- 将String类型转为int类型
- android File存储
- 基于Web的实验室管理系统技术简要报告
- hadoop2.2+hive0.13安装和配置
- 黑马程序员-Oracle(第四讲)