高精度数相加乘一位数
【问题描述】
请编程实现,输入两个高精度数,输出它们的和的n倍。(1<=n<=9),注意: 这两个高精度数的位数不一定相同且有可能产生进位。
【输入输出描述】
输入: 两行,第一行为高精度数a ,第二行为高精度数b。
输出: 一行, 一个高精度数c ,表示a与b的和的n倍。
【样例输入】
1111111222
1111111223
2
【样例输出】
4444444890
#include<iostream> #include<cstring> using namespace std; int main() { char a[201], b[201]; int a2[201]={}, b2[201]={}, c, c2[202]={}, d2[205]={}; cin >> a >> b >> c; int lena = strlen(a), lenb = strlen(b); for(int i=0; i<=lena-1; i++) a2[lena-i] = a[i] - 48; // 下标从1开始的。 for(int i=0; i<=lenb-1; i++) b2[lenb-i] = b[i] - 48; // 下标从1开始的。 // 高精度加法 int maxlen = max(lena, lenb), jw=0, i; for(i=1; i<=maxlen; i++) { int t = a2[i] + b2[i] + jw; jw = t/10; c2[i] = t%10; } if(jw) c2[i] = jw; else i--; // 高精度*c(c是一位整数); int jw2=0, j; for(j=1; j<=i; j++) { int t = c2[j]*c + jw2; jw2 = t/10; d2[j] = t%10; } if(jw2) d2[j]=jw2; else j--; for(int i=j; i>=1; i--) cout << d2[i]; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现