题目链接:http://bailian.openjudge.cn/practice/2980

解题思路:先将对应位相乘的积累加,最后再来处理进位问题;如 835*49;

先做 835*9;

得到 i  2            1           0

72           27          45

再做 835*4

得到 i   3                   2                  1               0

32                  12                20             0

再把对应位上的累加起来

得到 i   3                   2                    1               0

3 2                84                   47            45

最后再考虑进位的问题

得到 i 4        3                   2                    1               0

4        0                  9                     1             5

这样就得到了835*49;

注意:一个数的第i位和另一个数的第j位相乘所得的数,一定要放在积的第i+j位上;

两个长度都为len的数相乘所得的积的位数不会超过2*len;

反思:还是不够熟练,好好学,改了好多次。

  1. #include<stdio.h>
  2. #include<string.h>
  3. #define max 500
  4. int main()
  5. {
  6. int i,j;
  7. int len1,len2,len;
  8. int a[max],b[max],c[max];
  9. char str1[max],str2[max];
  10.  
  11. while(~scanf("%s %s",&str1,&str2))
  12. {
  13. memset(a,0,sizeof(a));
  14. memset(b,0,sizeof(b));
  15. memset(c,0,sizeof(c));
  16. len1=strlen(str1);
  17. len2=strlen(str2);
  18. for(i=0;i<len1;i++)
  19. {
  20. a[i]=str1[len1-i-1]-'0';
  21. }
  22. for(i=0;i<len2;i++)
  23. {
  24. b[i]=str2[len2-i-1]-'0';
  25. }
  26.  
  27. for(i=0;i<len2;i++)
  28. {
  29. for(j=0;j<len1;j++)
  30. c[i+j]+=b[i]*a[j];
  31. }
  32. len=i+j;
  33.  
  34. for(i=0;i<len;i++)
  35. {
  36. if(c[i]>=10)
  37. {
  38. c[i+1]+=c[i]/10;
  39. c[i]=c[i]%10;
  40. }
  41. }
  42.  
  43. for(i=len;(c[i]==0)&&(i>=0);i--);
  44. for(j=i;j>=0;j--)
  45. printf("%d",c[j]);
  46. printf("\n");
  47.  
  48. }
  49.  
  50. }

  

POJ.grids.2980的更多相关文章

  1. Poj.Grids 2951 浮点数求高精度幂

    2951:浮点数求高精度幂 总时间限制: 1000ms 内存限制: 65536kB 描述 有一个实数 R ( 0.0 < R < 99.999 ) ,要求写程序精确计算 R 的 n 次方. ...

  2. 区间重合判断(pojg校门外的树)

    pojg:http://poj.grids.cn/practice/2808 解法1:以空间换时间: #include<stdio.h> #include<string.h> ...

  3. pojg2744找一个最长的字符串x,使得对于已经给出的字符串中的任意一个y,x或者是y的子串,或者x中的字符反序之后得到的新字符串是y的子串。

    http://poj.grids.cn/practice/2744 描述现在有一些由英文字符组成的大小写敏感的字符串,你的任务是找到一个最长的字符串x,使得对于已经给出的字符串中的任意一个y,x或者是 ...

  4. pojg487-3279电话号码转换(字符映射)

    http://poj.grids.cn/practice/2974 注意输入中连字符可以任意添加和删除. 描述企业喜欢用容易被记住的电话号码.让电话号码容易被记住的一个办法是将它写成一个容易记住的单词 ...

  5. c语言统计字符数(判断a-z哪个字符出现次数最多)

    http://poj.grids.cn/practice/2742 描述判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多输入第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z ...

  6. ACM主要算法

    ACM主要算法ACM主要算法介绍 初期篇 一.基本算法(1)枚举(poj1753, poj2965)(2)贪心(poj1328, poj2109, poj2586)(3)递归和分治法(4)递推(5)构 ...

  7. poj 2389.Bull Math 解题报告

    题目链接:http://poj.org/problem?id=2389 题目意思:就是大整数乘法. 题目中说每个整数不超过 40 位,是错的!!!要开大点,这里我开到100. 其实大整数乘法还是第一次 ...

  8. POJ 2446 最小点覆盖

    Chessboard Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14787   Accepted: 4607 Descr ...

  9. poj 2446 Chessboard (二分匹配)

    Chessboard Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 12800   Accepted: 4000 Descr ...

随机推荐

  1. websocket 进阶!netty框架实现websocket达到高并发

    引言: 在前面两篇文章中,我们对原生websocket进行了了解,且用demo来简单的讲解了其用法.但是在实际项目中,那样的用法是不可取的,理由是tomcat对高并发的支持不怎么好,特别是tomcat ...

  2. 我的第一个 Windows 窗口程序(1)

    一般来说,构建一个 Windows 程序可以分为如下几个步骤: 定义窗口类(WNDCLASS) 注册窗口类(RegisterClass) 创建窗口(CreateWindow) 更新显示窗口(Updat ...

  3. nlogn求逆序对&&陌上花开

    前置: nlogn逆序对: 前一个小时我还真的不会这个Orz 这里运用归并排序的思想. 对于一个序列,我们把它先分开,再合并成一个有序序列. 引自https://blog.csdn.net/qq_30 ...

  4. ORA-12560: TNS: 协议适配器错误(oracle service 已启动)

    如果是安装完 oracle 客户端之后才出现的这个问题,请往下看 安装 oracle client 时,会配置一个客户端的监听,如果电脑上之前安装过 oracle service 就会和服务的监听冲突 ...

  5. SSH整合总结(OA项目)

    代码规范 环境搭建 Struts2 jar包 struts.xml, web.xml Hibernatejar包:核心包, 必须包, jpa, c3p0, jdbchibernate.cfg.xml, ...

  6. 2015 Multi-University Training Contest 10 hdu 5407 CRB and Candies

    CRB and Candies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  7. 关于java发送email

    转载:https://blog.csdn.net/qq_32371887/article/details/72821291 1:使用JavaMail发送邮件 // 1.创建一个程序与邮件服务器会话对象 ...

  8. 《生活在Linux中》之:在Bash的Emacs模式中使用Vim

    export EDITOR=vim ctrl-x ctrl-e

  9. jQuery验证所有输入合法后才干提交

    大学三年里所有在专注后台编码.学会不知多少种,servlet.ssh,springMVC,web.py...... 最后每次碰到前端自己要写点东西就满目愁抑, 干脆自己好好理解一段前端代码, 特地拿出 ...

  10. iframe是否缓存页面探究

    近期手里有个项目须要用iframe来调用每天都会变化的页面,后来想到iframe会不会缓存页面呢.于是写了个demo论证了下,结果例如以下: iframe的src假设是静态页面,就有可能会缓存.由于静 ...