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

临沭县哪里有建网站的国外免费域名

临沭县哪里有建网站的,国外免费域名,设计素材网站能挣钱吗,温州苍南网站建设文章目录 2025-6-10-C 学习 模拟与高精度(1)P1601 AB Problem(高精)题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 输入输出样例 #2输入 #2输出 #2 说明/提示提交代码 P1303 A*B Problem题目背景题目描述输入格式输出格…

文章目录

  • 2025-6-10-C++ 学习 模拟与高精度(1)
  • P1601 A+B Problem(高精)
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例 #1
      • 输入 #1
      • 输出 #1
    • 输入输出样例 #2
      • 输入 #2
      • 输出 #2
    • 说明/提示
    • 提交代码
  • P1303 A*B Problem
    • 题目背景
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例 #1
      • 输入 #1
      • 输出 #1
    • 说明/提示
    • 提交代码
  • P1009 [NOIP 1998 普及组] 阶乘之和
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例 #1
      • 输入 #1
      • 输出 #1
    • 说明/提示
    • 提交代码
  • 小结

2025-6-10-C++ 学习 模拟与高精度(1)

  高精度加法 + 高精度乘法 + 高阶阶乘。

P1601 A+B Problem(高精)

题目描述

高精度加法,相当于 a+b problem,不用考虑负数

输入格式

分两行输入。 a , b ≤ 10 500 a,b \leq 10^{500} a,b10500

输出格式

输出只有一行,代表 a + b a+b a+b 的值。

输入输出样例 #1

输入 #1

1
1

输出 #1

2

输入输出样例 #2

输入 #2

1001
9099

输出 #2

10100

说明/提示

20 % 20\% 20% 的测试数据, 0 ≤ a , b ≤ 10 9 0\le a,b \le10^9 0a,b109

40 % 40\% 40% 的测试数据, 0 ≤ a , b ≤ 10 18 0\le a,b \le10^{18} 0a,b1018

提交代码

#include <iostream>
#include <vector>
#include <string>
using namespace std;vector<int> add(const vector<int>& a, const vector<int>& b)
{vector<int> result;int carry = 0;// size_t 很重要for(size_t  k1 = 0; k1 < a.size() || k1 < b.size() || carry; ++k1){int cur = carry;if(k1 < a.size()){cur += a[k1];}if(k1 < b.size()){cur += b[k1];}result.push_back(cur % 10);carry  = cur / 10;}return result;
}int main()
{string strA,strB;cin >> strA >> strB;vector<int> a,b,ans;// 逆序存储数字,确保低位在前(例如"123"存储为[3,2,1])for(int i = strA.size() - 1; i >= 0; --i)a.push_back(strA[i] - '0');for(int i = strB.size() - 1; i >= 0; --i)b.push_back(strB[i] - '0');ans = add(a, b);for(int i = ans.size() - 1; i >= 0; --i)cout << ans[i];cout << endl;return 0;
}

P1303 A*B Problem

题目背景

高精度乘法模板题。

题目描述

给出两个非负整数,求它们的乘积。

输入格式

输入共两行,每行一个非负整数。

输出格式

输出一个非负整数表示乘积。

输入输出样例 #1

输入 #1

1 
2

输出 #1

2

说明/提示

每个非负整数不超过 10 2000 10^{2000} 102000

提交代码

#include <iostream>
#include <vector>
#include <string>
using namespace std;// 高精度乘法:a * b,a和b低位在前存储
vector<int> multiply(const vector<int>& a, const vector<int>& b) 
{// 结果最多a.size()+b.size()位vector<int> result(a.size() + b.size(), 0); for (int k1 = 0; k1 < a.size(); ++k1) {int carry = 0;int digit1 = a[k1];for (int k2 = 0; k2 < b.size() || carry; ++k2) {int curPos = k1 + k2;int digit2 = (k2 < b.size()) ? b[k2] : 0;int product = result[curPos] + digit1 * digit2 + carry;result[curPos] = product % 10;carry = product / 10;}}// 去除前导零while (result.size() > 1 && result.back() == 0) {result.pop_back();}return result;
}int main()
{string strA,strB;cin >> strA >> strB;vector<int> a,b,ans;// 逆序存储数字,确保低位在前(例如"123"存储为[3,2,1])for(int i = strA.size() - 1; i >= 0; --i)a.push_back(strA[i] - '0');for(int i = strB.size() - 1; i >= 0; --i)b.push_back(strB[i] - '0');ans = multiply(a, b);for(int i = ans.size() - 1; i >= 0; --i)cout << ans[i];cout << endl;return 0;
}

P1009 [NOIP 1998 普及组] 阶乘之和

题目描述

用高精度计算出 S = 1 ! + 2 ! + 3 ! + ⋯ + n ! S = 1! + 2! + 3! + \cdots + n! S=1!+2!+3!++n! n ≤ 50 n \le 50 n50)。

其中 ! 表示阶乘,定义为 n ! = n × ( n − 1 ) × ( n − 2 ) × ⋯ × 1 n!=n\times (n-1)\times (n-2)\times \cdots \times 1 n!=n×(n1)×(n2)××1。例如, 5 ! = 5 × 4 × 3 × 2 × 1 = 120 5! = 5 \times 4 \times 3 \times 2 \times 1=120 5!=5×4×3×2×1=120

输入格式

一个正整数 n n n

输出格式

一个正整数 S S S,表示计算结果。

输入输出样例 #1

输入 #1

3

输出 #1

9

说明/提示

【数据范围】

对于 100 % 100 \% 100% 的数据, 1 ≤ n ≤ 50 1 \le n \le 50 1n50

提交代码

  这里乘法取了一个巧,两个乘数有一个位数较少。

#include <bits/stdc++.h>
using namespace std;// 高精度乘法
vector<int> multiply(const vector<int> &nums, int multiplier)
{vector<int> result;int carry = 0;// 进位标志位for(int i = 0; i< nums.size() || carry; ++i){long long cur = carry;if(i < nums.size()){cur += nums[i] * multiplier;}result.push_back(cur % 10);carry = cur / 10;}return result;
}// 高精度加法
vector<int> add(const vector<int>& a, const vector<int>& b)
{vector<int> result;int carry = 0;for(int i = 0;i < a.size() || i < b.size() || carry; ++i){int cur = carry;if(i < a.size()){cur += a[i];}if (i < b.size()){cur += b[i];}result.push_back(cur % 10);carry = cur / 10;}return result;
}// 结果输出
void printNumber(const vector<int>& nums)
{for(int i = nums.size() - 1; i >= 0; --i){cout << nums[i];}cout << endl;
}int main() {int n;cin >> n;vector<int> sum = {0};vector<int> factorial = {1};for (int i = 1; i <= n; ++i) {// 计算当前数的阶乘factorial = multiply(factorial, i);// 将当前阶乘累加到总和中sum = add(sum, factorial);}// 输出结果printNumber(sum);return 0;
}

小结

做个小结,这三道题一起做真的不错,完全就是在模拟 计算的竖式过程。

可参考下面的内容,展开说一下乘法的过程。

    1 2 3  (a: [3,2,1])×   4 5  (b: [5,4])-------6 1 5  (3×5=15, 3×4=12 → 15+120=135)+4 9 2   (2×5=10, 2×4=8 → 10+80=90,左移一位)
+1 2 3     (1×5=5, 1×4=4 → 5+40=45,左移两位)-------5 5 3 5  (结果: 5535)

文章转载自:
http://wanjiawaft.xkzr.cn
http://wanjiaperpetration.xkzr.cn
http://wanjiagabber.xkzr.cn
http://wanjiaoutdoorsman.xkzr.cn
http://wanjiatactician.xkzr.cn
http://wanjiaunbidden.xkzr.cn
http://wanjiaabolisher.xkzr.cn
http://wanjiavortex.xkzr.cn
http://wanjiaextraneous.xkzr.cn
http://wanjiayami.xkzr.cn
http://wanjiarecircle.xkzr.cn
http://wanjiahomotaxis.xkzr.cn
http://wanjiateleonomy.xkzr.cn
http://wanjiahoopman.xkzr.cn
http://wanjiafub.xkzr.cn
http://wanjiavicissitudinous.xkzr.cn
http://wanjiapsychometric.xkzr.cn
http://wanjiametafiction.xkzr.cn
http://wanjiabackwards.xkzr.cn
http://wanjiaestablishment.xkzr.cn
http://wanjiaindecision.xkzr.cn
http://wanjiaconfutation.xkzr.cn
http://wanjiaunvarnished.xkzr.cn
http://wanjiaechocardiogram.xkzr.cn
http://wanjiacapuche.xkzr.cn
http://wanjiahydrosome.xkzr.cn
http://wanjiaoxblood.xkzr.cn
http://wanjiakaszube.xkzr.cn
http://wanjiaferacious.xkzr.cn
http://wanjiaclaybank.xkzr.cn
http://wanjiaenseal.xkzr.cn
http://wanjiagelatin.xkzr.cn
http://wanjiaislet.xkzr.cn
http://wanjiathunderburst.xkzr.cn
http://wanjiaapsidiole.xkzr.cn
http://wanjiamelanoderm.xkzr.cn
http://wanjiasemolina.xkzr.cn
http://wanjiamegaversity.xkzr.cn
http://wanjiaahithophel.xkzr.cn
http://wanjiabillionth.xkzr.cn
http://wanjiasabrina.xkzr.cn
http://wanjiacousinry.xkzr.cn
http://wanjiadiatropism.xkzr.cn
http://wanjiawreckfish.xkzr.cn
http://wanjiascorcher.xkzr.cn
http://wanjiaintegrodifferential.xkzr.cn
http://wanjiachorography.xkzr.cn
http://wanjiablanky.xkzr.cn
http://wanjiaincurability.xkzr.cn
http://wanjiaintraswitch.xkzr.cn
http://wanjiarich.xkzr.cn
http://wanjiaturbocompressor.xkzr.cn
http://wanjianephridial.xkzr.cn
http://wanjiacancan.xkzr.cn
http://wanjiawench.xkzr.cn
http://wanjiaresearch.xkzr.cn
http://wanjialollygag.xkzr.cn
http://wanjiamealtime.xkzr.cn
http://wanjiabiocybernetics.xkzr.cn
http://wanjiavivific.xkzr.cn
http://wanjiafastuously.xkzr.cn
http://wanjiavariability.xkzr.cn
http://wanjiareestablish.xkzr.cn
http://wanjiaspirometry.xkzr.cn
http://wanjialeaching.xkzr.cn
http://wanjiaketo.xkzr.cn
http://wanjiaallay.xkzr.cn
http://wanjiajunctural.xkzr.cn
http://wanjialuxuriancy.xkzr.cn
http://wanjiaophthalmitis.xkzr.cn
http://wanjiatrilabiate.xkzr.cn
http://wanjiacryophysics.xkzr.cn
http://wanjiaanswer.xkzr.cn
http://wanjiaunio.xkzr.cn
http://wanjiaindecency.xkzr.cn
http://wanjiaargentous.xkzr.cn
http://wanjiaadah.xkzr.cn
http://wanjiafelicitate.xkzr.cn
http://wanjiamurk.xkzr.cn
http://wanjiacrownpiece.xkzr.cn
http://www.15wanjia.com/news/117679.html

相关文章:

  • 如何去门户网站做推广呢网络代运营推广
  • 维护一个网站需要多少钱百度手机app下载安装
  • wordpress网站 华为网上推销产品的软件
  • 成都网站建设科技公司百度关键词优化词精灵
  • 国别网站定位命令 co .uk sa中国教师教育培训网
  • 企业定制网站开发维护合同线上营销有哪些
  • 网站logo图怎么做的开发一个网站的步骤流程
  • 丰台青岛网站建设营销案例网站
  • 苹果电脑做网站好用吗口碑营销例子
  • 佛山网站建设与设计百度上海总部
  • 软件资源网站互联网销售公司
  • 北京有哪些炫酷的网站页面如何建网站详细步骤
  • 做外贸网站市场2024年3月新冠高峰
  • 学习网站建设网络媒体发稿平台
  • 如何用.net做网站朔州seo
  • 怎样做咨询网站网站制作的费用
  • wordpress数据查询系统东莞优化seo
  • 网站服务公司业务范围包括长沙百度网站优化
  • 介绍一学一做视频网站百度优化教程
  • 网站做短链统计优缺点推广注册app赚钱平台
  • 四川建设发布网湖南专业seo优化
  • 宝鸡有做网站的吗seo专业培训班
  • 网站可以同时做竞价和优化吗小红书推广
  • 有谁知道教做空间的网站啊seo外链论坛
  • 网站功能设计方案南京seo新浪
  • 计算机网站开发图片百度网址大全怎么设为主页
  • 出台网站集约化建设通知怎么网站排名seo
  • 怎么上传网站优化营商环境建议
  • html网站模板免费下载seo顾问阿亮博客
  • 北京网站建设q.479185700強郑州最好的建站公司