⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zzz.cpp

📁 大整数乘法,实现两个大整数相乘的C++代码
💻 CPP
字号:


#include <stdio.h>
#include <string.h>
int a[101], b[101], c[202];
int mul(int l1, int l2, int a1[101], int a2[101], int c[202])
{        int i, j;       
 int y;//进位     
 int x;//乘积      
 int z;//余数        
 int w;//乘积结果保存位置        
 memset((void *)&c[0], 0, sizeof(int));      
 for(i = 0; i < 101; i++){           
     for(j = 0; j < 101; j++){       
		 x = a1[i] * a2[j];        
		 z = x % 10;              
		 y = x/10;                  
		 w = i + j;           
		 c[w] += z;              
		 c[w+1] += y + c[w]/10;        
		 c[w] %= 10;             
	 }      
 }     
 w = l1 + l2;     
 if(c[w-1] == 0){   
	 w--;      
 }      
 return w;}
int main(int argc, char **argv)
{        char str[101];      
  int i, pos, len1, len2;     
  if(fgets(str, 101, stdin) != NULL){ 
	  len1 = strlen(str);             
	  for(i = 0; i < len1-1; i++){  
		  a[i] = str[i] - 48;         
	  }     
  }        
  if(fgets(str, 101, stdin) != NULL){  
	  len2 = strlen(str);      
	  for(i = 0; i < len2-1; i++){   
		  b[i] = str[i] - 48;      
	  }      
  }       
  pos = mul(len1-2, len2-2, a, b, c);      
  for(i = 0; i <= pos; i++){    
	  
     printf("%d", c[i]);     
   }     
  printf("\n");  
  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -