之前写过用java解决大数问题    链接   java大数

然后c的解法比较普遍的简单的就是模拟乘法竖式运算

参考聚聚的博客  也比较好理解  写一个竖式乘法过程对照来一遍就好了

直接贴代码了  题目是51nod1027   大数乘法

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<math.h>
using namespace std;
typedef long long ll;
const int maxn=1e5+7;
char s1[maxn],s2[maxn];
int a[maxn],b[maxn],c[maxn*2];
int main(){while(~scanf("%s%s",s1,s2)){if(s1[0]=='0'||s2[0]=='0'){printf("0\n");continue;}memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));int l1=strlen(s1),l2=strlen(s2);for(int i=0;i<l1;i++)a[i]=s1[l1-i-1]-'0';for(int i=0;i<l2;i++)b[i]=s2[l2-i-1]-'0';for(int i=0;i<l1;i++){for(int j=0;j<l2;j++){c[i+j]=a[i]*b[j]+c[i+j];//按位进行乘法c[i+j+1]=c[i+j+1]+c[i+j]/10;//处理进位c[i+j]=c[i+j]%10;}}int flag=l1+l2;while(!c[flag])flag--;for(int i=flag;i>=0;i--)printf("%d",c[i]);printf("\n");}return 0;
}

大数乘法(C语言、数组模拟)相关推荐

  1. HDU-1042 N! 大数乘法 (C语言)

    这是一道简单的数学题,求一个数(N)的阶乘.但是问题是题中N给的非常大(0<=N<=10000),用for循环来做显然不行了.这里用数组来对付这些大家伙.基本思路如下: 1.开辟一个够大的 ...

  2. 高效大数乘法 c语言,华为2012校园招聘上机题——大数相乘,两个超过100位的大数相乘C语言...

    这是我调试时间最长的程序,整整弄了两天才弄好,不过还有点数组下标越界的小问题没解决!但是结果是正确的! 算法思想:将两个相乘的数分别放在两个数组中,之后用一个数,逐位的乘以另一个数,在将乘积的和放在另 ...

  3. java 数组大数乘法_java – 在数组中查找3个数字的最大乘积

    给定一个整数数组,它可以包含ve和-ve数.我要最大化数组中任何3个元素的乘积.元素可以是非连续的. 一些例子: int[] arr = {-5, -7, 4, 2, 1, 9}; // Max Pr ...

  4. 高效大数乘法 c语言,C语言 简单大数乘法

    C++语言编写代码实现32位无符号整数与32位无符号整数相乘,结果为64位无符号整数. 效果 注意乘法累加的移位和加法不同 #include #include #include #include us ...

  5. 高效大数乘法 c语言,C语言实现大数乘法教程

    这个算法有个技巧:将字符串先转化为数组,乘法公式为c[i+j] += b[i]*a[j],最后在统一处理进位,这一步很精髓 #include #include #define max 200 void ...

  6. c语言数组模拟骰子6000次,单选:模拟骰子的6000次投掷,编程统计并输出骰子的6个面各自出现的概率。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。...

    单选:模拟骰子的6000次投掷,编程统计并输出骰子的6个面各自出现的概率.按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求. #include _________ #include &l ...

  7. 大整数乘法c语言数组,很大的数相乘怎么办?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include&nbsp #include&nbsp using&nbsp  namespace&nbsp  std; ...

  8. 奶牛乘法c语言数组,C++程序题,奶牛问题

    满意答案 youhe1533 2013.11.13 采纳率:46%    等级:12 已帮助:7012人 #include "stdafx.h" int CalCowsNum(in ...

  9. 大数乘法(C语言实现)

    实现过程分析: 我们回忆一下,在我们小时候刚接触多位数的乘法,我们的数学老师会教给我们一个方法,那就是"乘法的竖式计算".在这里我们就采用该思想解决大数乘法的问题. 以下是我们经常 ...

  10. c 语言乘法代码,C++实现大数乘法算法代码

    C++实现大数乘法算法代码 //大数乘法算法 #include #include #include using namespace std; int main() { string num1,num2 ...

最新文章

  1. 不属于未来计算机范畴,智慧职教云课堂工程数学-2020年春网课答案
  2. shell脚本俄罗斯方块游戏
  3. Thread和Object类中关于线程的相关方法
  4. 浅谈Dynamic 关键字系列之二:调用属性,方法,字段
  5. Android ConstraintLayout约束布局的理解与使用
  6. Win:Win系统下安装Linux的Ubuntu系统的简介、安装之详细攻略
  7. 面向对象发牌Java_面向对象思路的斗地主发牌小程序
  8. 机器学习入门---------numpy
  9. JavaScript模块化不算漫长的发展史
  10. 网络编程(part5)--文件读写偏移量及文件描述符
  11. CF889E-Mod Mod Mod【dp】
  12. 安卓mysql插入数据_【11-25求助】关于Android 的SQLite数据库插入数据报错问题
  13. vue中使用FullCalendar日历组件
  14. [转载]UML时序图总结
  15. 利用计算机软件优化设计畜禽饲料配方 excel软件优化畜禽饲料配方,利用Excel线性规划优化饲料配方【荐】.ppt...
  16. Java枚举类与常用方法
  17. 【5G】5G中的CU和DU是什么?
  18. 前端模块化开发的价值
  19. 没有 XXX 的手册页条目
  20. 51单片机模拟串口发送接收数据(不使用SBUF)

热门文章

  1. python学习之继承
  2. Android中的GraphicBuffer同步机制-Fence
  3. 进入Python的多彩世界
  4. Protobuf, understand the hood
  5. 如何将PDF转换成Word
  6. hiberante中get和load方法的区别
  7. 增强内容表现的jQuery插件
  8. Wap Push Access Protocol(PAP)介绍-开放源码
  9. gnuplot添加直线和箭头
  10. pages与页面配置