0024-大整数乘法

问题描述

求两个不超过 200 位的非负整数的积。

输入

有两行,每行是一个不超过 200 位的非负整数,没有多余的前导 0。

输出

一行,即相乘后的结果。结果里不能有多余的前导 0,即如果结果是 342,那么就不能输出为 0342。

输入样列

12345678900
98765432100

输出样例

1219326311126352690000

算法实现

using System;

namespace Questions{
    class Program{
        public static void Main(string[] args){
            string m = Console.ReadLine();
            string n = Console.ReadLine();
            int[] k=new int[400];

            for (int i = 0; i < n.Length; i++)
            {
                for (int j = 0; j < m.Length; j++)
                {
                    int temp = k[j + i] + (n[n.Length - i - 1] - '0') * (m[m.Length - j - 1] - '0');
                    if (temp >= 10)
                    {
                        k[j + i + 1]+= temp/10;
                        k[j + i] = temp - 10*(temp / 10);
                    }
                    else
                        k[j + i] = temp;
                }
            }

            int l = 400;
            while (k[l - 1] == 0)
                l--;
            for (int i = l-1; i >= 0; i--)
                Console.Write(k[i]);
            Console.WriteLine();
            Console.ReadKey();
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Description 求两个不超过200位的非负整数的积。 Input 有两行,每行是一个不超过200位的非负整...
    harvey_dong阅读 1,468评论 0 1
  • 描述 求两个不超过200位的非负整数的和。 输入 有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。...
    tingshuo123阅读 614评论 2 0
  • 问题描述 求两个不超过 200 位的非负整数的和。 输入 有两行,每行是一个不超过 200 位的非负整数,没有多余...
    指尖极光阅读 888评论 0 0
  • 皓月高悬,清风徐来。惬意到连树叶也欢脱刷刷乱扯蛋。当然林间估计最欢脱的是在小角落的一对对小情侣。大学果然是...
    小米粒加巧克力阅读 319评论 0 4
  • 今天又来玩现金流游戏了,收获也是很大的。今天的出圈率百分之25.今天得职业选的是飞机驾驶员。 下面...
    穿xs的阳子小姐阅读 168评论 1 0