当前位置: 首页 > news >正文

武义县建设局网站首页石景山网站建设服务

武义县建设局网站首页,石景山网站建设服务,佛山做网站企业,做网站有维护费是什么费用AcWing 793. 高精度乘法 题目描述 给定两个非负整数(不含前导 00) A 和 B,请你计算 AB 的值。 输入格式 共两行,第一行包含整数 A,第二行包含整数 B。 输出格式 共一行,包含 AB 的值。 数据范围 1≤…

AcWing 793. 高精度乘法

题目描述

给定两个非负整数(不含前导 00) A 和 B,请你计算 A×B 的值。

输入格式

共两行,第一行包含整数 A,第二行包含整数 B。

输出格式

共一行,包含 A×B 的值。

数据范围

1≤A 的长度≤100000,

0≤B≤100000

输入样例

2
3

输出样例

6

思路

将 B 看成一个整体再相乘,不要一位一位的乘!注意结果的前导 0!

C++

#include <iostream>
#include <string>using namespace std;void reverse(string &s) {size_t n = s.length();for (int i = 0; i < n / 2; ++i) {swap(s[i], s[n - i - 1]);}
}string mul(string &a, int b) {reverse(a);int carry = 0;string result;for (size_t i = 0; i < a.size() || carry; ++i) {if (i < a.size()) carry += (a[i] - '0') * b;result.push_back(carry % 10 + '0');carry /= 10;}reverse(result);if (result[0] == '0') return "0";return result;
}int main() {string a;int b;cin >> a >> b;cout << mul(a, b);return 0;
}
#include <iostream>
#include <vector>using namespace std;vector<int> mul(vector<int> &A, int b)
{vector<int> C;int t = 0;for (int i = 0; i < A.size() || t; i ++ ){if (i < A.size()) t += A[i] * b;C.push_back(t % 10);t /= 10;}while (C.size() > 1 && C.back() == 0) C.pop_back();return C;
}int main()
{string a;int b;cin >> a >> b;vector<int> A;for (int i = a.size() - 1; i >= 0; i -- ) A.push_back(a[i] - '0');auto C = mul(A, b);for (int i = C.size() - 1; i >= 0; i -- ) printf("%d", C[i]);return 0;
}

Go

package mainimport ("fmt""strings"
)func reverse(s string) string {r := []rune(s)l := len(r)for i := 0; i < l/2; i++ {r[i], r[l-i-1] = r[l-i-1], r[i]}return string(r)
}func mul(a string, b int) string {a = reverse(a)carry := 0var result strings.Builderfor i := 0; i < len(a) || carry > 0; i++ {if i < len(a) {carry += int(a[i]-'0') * b}result.WriteByte(uint8(carry%10) + '0')carry /= 10}resStr := reverse(result.String())if resStr[0] == '0' {return "0"}return resStr
}func main() {var a stringvar b intfmt.Scanln(&a)fmt.Scanln(&b)fmt.Println(mul(a, b))
}

模板

// C = A * b, A >= 0, b >= 0
vector<int> mul(vector<int> &A, int b)
{vector<int> C;int t = 0;for (int i = 0; i < A.size() || t; i ++ ){if (i < A.size()) t += A[i] * b;C.push_back(t % 10);t /= 10;}while (C.size() > 1 && C.back() == 0) C.pop_back();return C;
}
http://www.yayakq.cn/news/883043/

相关文章:

  • 专业做网站的企业win7 做服务器开网站
  • 怎样做一个简单的网站首页百度热议怎么上首页
  • 怎么做一个网站 免费无锡网络营销推广软件
  • html颜色代码做搜狗网站优化排
  • 建设厅网站密码找回营销策略案例
  • 医疗网站怎么做优化企业营销策划合同范本
  • asp班级网站建设开发公司与物业公司合同
  • 外贸建站如何推广广州地铁官网
  • 重庆网站推广产品企业微信开发商是谁
  • 泰安市建设职工培训中心网站进不去管理系统考生端重置密码
  • 徐州模板开发建站记事本怎么做网站图片链接
  • 网站功能性介绍网络制作公司专业制作网站
  • 牛商网建设的食品网站焦作做网站优化
  • 安徽网站建设产品介绍正品率最高的购物网站
  • 建设工作室网站做网站的感想与收获
  • 博物馆网站 微信 微博 建设重庆拓达建设集团网站
  • 软件工程课程设计课程网站建设做网站cookie传值
  • 广州网站建设实力乐云seo网页制作基础教程dw
  • 网站建设工作简介惠安县道安办网站建设
  • 重庆好的推广网站新手什么网站做外贸
  • 哈尔滨网站设计报价图片网站如何做百度排名
  • 四川网站建设报价wordpress淘宝客网站
  • 一起学网站培训心得制作竞拍网站
  • 广州网站建设怎样做搬瓦工 做网站
  • 吴志祥最早做的网站是什么网站网站页面创意
  • 同城分类信息网站建设在线做任务的网站有哪些
  • 不建网站如何做淘宝客wordpress最好用的用户管理系统
  • 网站建设公司网址07073游戏网
  • 江西响应式网站制作上海做网站的公司电话
  • 百度网站加v思途做的旅游网站