描述

高精度乘法
输入:两行,每行表示一个非负整数(不超过10000位)
输出:两数的乘积。

样例1

样例输入1

99
101

样例输出1

9999
  1. #include<iostream>
  2. #include<cstring>
  3. #define T 1000000
  4. using namespace std;
  5. char a1[T],b1[T];
  6. int a[T],b[T],c[T],lena,lenb,lenc,x,t,f;
  7. int main()
  8. {
  9. while(cin>>a1>>b1)
  10. {
  11. memset(a,0,sizeof(a));
  12. memset(b,0,sizeof(b));
  13. memset(c,0,sizeof(c));
  14. lena=strlen(a1);
  15. lenb=strlen(b1);
  16. f=1;t=0;
  17. if(a1[0]=='-')//判断第一个字符是不是负数,如果是,再判断另一个是不是,再想输出问题对于B1字符数组同理
  18. {
  19. f*=-1;t++;
  20. }
  21. for(int i=t;i<=lena-1;i++)
  22. a[lena-i]=a1[i]-48;//除去符号位后,将字符变成数字,放在对应的int数组里面,进行计算
  23. t=0;
  24. if(b1[0]=='-')
  25. {
  26. f*=-1;t++;
  27. }
  28. for(int i=t;i<=lenb-1;i++)
  29. b[lenb-i]=b1[i]-48;
  30. for(int i=1;i<=lena;i++)
  31. {
  32. x=0;
  33. for(int j=1;j<=lenb;j++)
  34. {
  35. c[i+j-1]=a[i]*b[j]+x+c[i+j-1];
  36. x=c[i+j-1]/10;
  37. c[i+j-1]%=10;
  38. }
  39. c[i+lenb]=x;
  40. }
  41. lenc=lena+lenb;
  42. while(c[lenc]==0&&lenc>1)
  43. lenc--;
  44. if(f==-1)
  45. cout<<"-";
  46. for(int i=lenc;i>=1;i--)
  47. cout<<c[i];
  48. cout<<endl;
  49. }
  50. return 0;
  51. }

与POJ的Bull Math,一样

高精度乘法(正负数皆可(Bull Math)POJ)相关推荐

  1. [高精度乘法]BZOJ 1754 [Usaco2005 qua]Bull Math

    模板题目,练练手~ #include <iostream> #include <algorithm> #include <cstring> #include < ...

  2. **【POJ - 2389】 Bull Math (高精度乘法)

    题干: Bulls are so much better at math than the cows. They can multiply huge integers together and get ...

  3. 【bzoj 1754】【POJ - 2389 】Bull Math (高精度运算)

    题干: Bulls are so much better at math than the cows. They can multiply huge integers together and get ...

  4. poj2389 Bull Math (高精度之A*B)

    题目来源:poj2389 Bull Math Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13350   Accepted ...

  5. python判断正数负数_python判断正负数方式

    我就废话不多说了,大家还是直接看代码吧! a1 = raw_input("please input a number") a = int(a1) if(a!=0): if(a &g ...

  6. 信息学奥赛一本通(1307:【例1.3】高精度乘法)

    1307:[例1.3]高精度乘法 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 30399     通过数: 10666 [题目描述] 输入两个高精度正整数M和N ...

  7. 程序员编程艺术第二十七章:不改变正负数相对顺序重新排列数组(无解?)

    第二十七章:不改变正负数之间相对顺序重新排列数组.时间O(N),空间O(1) 前言 本文开始之前,顺道说个事:CSDN最近开始评选10大博客专栏,投票地址为:http://event.blog.csd ...

  8. 算法提高 高精度乘法(java)

    算法提高 高精度乘法 描述 在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263.要想计算更加规模的数,就要用软件来扩 ...

  9. 在计算机语言中的乘法,LOGO语言编程题  高精度乘法★★

    不限制位数的整数高精度乘法★★★★ 这是"高精度算法"系列文章中的第二篇.在"高精度加.减.乘.除"这4种计算中,加法最基础.最简单,乘法稍难,减法更难,除法最 ...

最新文章

  1. java的初始化顺序
  2. shell逻辑判断式与表达式
  3. 使用mvn生成webapp失败,尚未找到原因
  4. ubuntu c/c++ IDE编程环境
  5. centos7离线安装mysql_Red Hat6.4离线安装mysql安装手册
  6. struts.preperties说明
  7. vpn mysql_MYSQL数据库
  8. ios 渐变透明背景_15张案例,告诉你PPT背景的处理套路
  9. electronjs设置宽度_javascript – 如何使Electron WebView填充指定的大小?
  10. Kong API Gateway 配置文件详解
  11. 移动、复制、新增工作表
  12. 运维 xshell 学习
  13. python3file函数_Python3 File(文件) 方法
  14. Python优化算法06——人工鱼群算法
  15. C# CAD二次开发之字体替换 文字样式 处理DBText
  16. Discuz论坛超漂亮手机模板
  17. YouTube embed gives “restricted from playback on certain sites” error despite API metadata indicatin
  18. Canal源码分析deployer模块
  19. 这些年我用过的API文档工具,个个是精品。
  20. Mysql数据库【触发器】

热门文章

  1. 金融风控各场景模型策略如何做?系统总结分享,数据风控精选专题集
  2. 支付宝香港落地记:那些你不知道的争论和故事
  3. Zabbix 监控功能实现(监控数据库,使用percona 优化数据库的监控,监控java应用,Agent端 主动传输数据,Zabbix proxy 的使用,Zabbix 监控 + 智能降噪告警)
  4. docker 运行镜像后,telnet 出现Connection closed by foreign host或连接被重置(已解决)
  5. 58同城登陆参数password值,js解密
  6. ----down----
  7. 用Python写个爬虫小程序,给女朋友每日定时推送睡前小故事
  8. 没有深度思考,所有勤奋都是扯淡
  9. HTTP/2.0 中英文对照
  10. Mybatis代码生成器Mybatis-Generator使用及配置详解