高精度除法(高精除以单精)模板

mac2025-09-29  7

(若想查看高精除以高精,请点击链接)链接 高精除以单精还是比较简单(还不用倒序存储呢),直接模拟竖式就好了。

Code

#include<bits/stdc++.h> using namespace std; int a[300],b,c[300],Left; string s; int main() { cin>>s; cin>>b; int lena=s.size(); for(int i=1;i<=lena;i++) a[i]=s[i-1]-'0'; for(int i=1;i<=lena;i++) { a[i]+=(a[i-1]<<3)+(a[i-1]<<1); c[i]=a[i]/b; a[i]-=a[i]/b*b; } Left=a[lena];//余数 int lenc=1; while(c[lenc]==0&&lenc<=lena-1) lenc++;//删除多余的前导0 for(int i=lenc;i<=lena;i++) printf("%d",c[i]); printf("\n%d",Left); return 0; }

学习厌倦了?点我有更多精彩哦!

最新回复(0)