高精度算法

chenweiqi 2021-06-05 9:56:33 2021-06-05 11:27:45 0
#include <iostream>
#include <string>
using namespace std;

	void init(int a[ ])//传入一个数组
	{
	string	s;                  //字符串 
		cin>>s;
		len=s.length();			//用len计算字符串s的长度 
		for(int i=1;i<=len;i++){
			a[i]=s[len-i]-'0';      //将字符串s转为数组a,并倒序存储 
		} 
	}
	 
int main(){
    
	int c[100]; 
	 void add(int a[ ],int b[ ]){   //abc为数组,分别为存储,加数,加数,结果 
	 	int i=1,x=0;				//x是进位 
	 	while((i<=a数组长度)||(i<=b数组长度)){
	 		c[i]=a[i]+b[i]+x;       //加上上个进位第i位 
	 		x=c[i]/b;				//向高位进位 
	 		c[i]%=10;				//储存i 
	 		i++;					//位置下标 
		 }
	 	
	 }
	return 0;
} 



进位,结尾处理 



加法进位:c[i]=a[i]+b[i];
	 if(c[i]>=10){c[i]%=10;++c[i+1]}
	 
乘法进位:c[i+j-1]=a[i]*b[j]+x+c[i+j-1];
			x=c[i+j-1]/10;
			c[i+j-1]%=10;
		//还有减法进位。。。不想打。。。	
{{ vote && vote.total.up }}

共 5 条回复

root 站长

无聊的复活了?

chenweiqi

无聊

Herobrine 303

还有,你怎么复活了?

Herobrine 303

你发个这个干嘛?

chenweiqi

木有复制!!!!!!