尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

C++高精度计算二(练习题)

C++高精度计算二(练习题)
📅 发布时间:2026/6/18 14:39:55

数位和计算

【描述】输入一个大数,将该大数中的各位数字之和相加输出
【输入描述】一个大数A
【输出描述】计算各位数字之和,然后输出结果
【样例输入】
123456789
【样例输出】
45

#include<iostream>#include<cstring>usingnamespacestd;constintMAX=1005;chara[MAX];intdigitSum(){intsum=0;for(inti=0;a[i];i++){sum+=a[i]-'0';}returnsum;}intmain(){cin>>a;cout<<digitSum()<<endl;return0;}/* 【输入用例2】 1000000000000000000000 【输出用例2】 1 【输入用例3】 9999999999999999999999999999999 【输出用例3】 279 【输入用例4】 00000000000000000000000007 【输出用例4】 7 【输入用例5】 2025 【输出用例5】 9 【输入用例6】 1111111111111111111111111111 【输出用例6】 28 */

连续除法

【描述】设计一个程序,能够计算一个大数连续除于n个数的结果,需要注意的是,除的过程中可能会出现小数部分,所以每次除的结果只保留整数部分,舍去小数部分即可。
【输入描述】第一行:大数A,第二行:除数个数n,接下来n行:n个除数
【输出描述】连续除完后的结果
【输入样例】
1000
3
2 5 10
【输出样例】
10

#include<iostream>#include<string>usingnamespacestd;// 高精度除以单精度函数(处理字符串形式的大数)stringdivideString(conststring&dividend,intdivisor){string quotient;intremainder=0;for(charc:dividend){intcurrent=remainder*10+(c-'0');// 当前余数拼接当前位quotient+=(current/divisor)+'0';// 计算商位remainder=current%divisor;// 更新余数}// 去除前导零size_t start=quotient.find_first_not_of('0');return(start==string::npos)?"0":quotient.substr(start);}intmain(){string A;intn;// 输入处理cin>>A>>n;for(inti=0;i<n;++i){intdivisor;cin>>divisor;// 连续除法处理A=divideString(A,divisor);if(A=="0")break;// 提前终止优化}cout<<A<<endl;return0;}/* 【输入用例2】 5 1 1 【输出用例2】 5 【输入用例3】 100 2 10 10 【输出用例3】 1 【输入用例4】 0 1 5 【输出用例4】 0 【输入用例5】 2560144019201080 10 2 2 2 2 2 2 2 2 2 2 【输出用例5】 2500140643751 【输入用例6】 9999999999999999999999 9 9 9 9 9 9 9 9 9 9 【输出用例6】 25811747917131 */

数的次方

【描述】计任意给定一个正整数 n (n<=100) ,计算 2的n次方的值。
【输入】输入一个正整数 n。
【输出】输出2的 n 次方的值。
【输入样例1】
5
【输出样例1】
32
【输入样例2】
100
【输出样例2】
1267650600228229401496703205376

#include<iostream>usingnamespacestd;#defineMAXN160inta[MAXN]={0};intn;intmain(){cin>>n;a[0]=1;for(inti=1;i<=n;i++){intup=0;// 进位初始为0for(intj=0;j<MAXN;j++){// 从个位到最高位,处理进位intt=a[j]*2+up;// 逐位*2 + 进位a[j]=t%10;// 保存个位up=t/10;// 留下进位部分}}inti=MAXN-1;while(a[i]==0)// 去前导0i--;while(i>=0)// 输出商cout<<a[i--];return0;}/* 【输入用例2】 20 【输出用例2】 1048576 【输入用例3】 50 【输出用例3】 1125899906842624 【输入用例4】 80 【输出用例4】 1208925819614629174706176 【输入用例5】 120 【输出用例5】 1329227995784915872903807060280344576 【输入用例6】 150 【输出用例6】 1427247692705959881058285969449495136382746624 */

大数进制转换

【描述】输入一个10进制大数,将它转换成对应的进制表示
【输入描述】输入为两个数,第一个数是需要转换的大数,第二个数是需要转换的进制(进制要求在2-16之间)
【输出描述】输出转换后的进制表示数
【样例输入】
1024 2
【样例输出】
10000000000

#include<iostream>#include<cstring>usingnamespacestd;// 定义最大输入长度(含符号位)constintMAX=1005;charnum[MAX],res[MAX];// num存储输入数字,res存储转换结果intbase;// 目标进制chardigits[]="0123456789ABCDEF";// 将十进制字符串转换为指定进制并输出voidconvert(){intlen=strlen(num);longlongdecimal=0;// 中间十进制值// 将输入字符串转换为十进制数值for(inti=0;i<len;i++){decimal=decimal*10+(num[i]-'0');// 逐位计算十进制值}intindex=0;// 结果数组索引// 将十进制值转换为目标进制while(decimal>0){res[index++]=digits[decimal%base];// 根据余数选择字符decimal/=base;// 整除更新值}res[index]='\0';// 字符串结束符// 逆序输出结果(因转换时低位在前)for(inti=index-1;i>=0;i--)cout<<res[i];cout<<endl;}intmain(){cin>>num>>base;// 输入数字字符串和目标进制convert();// 执行转换return0;}/* 【输入用例2】 1024 16 【输出用例2】 400 【输入用例3】 999999 2 【输出用例3】 11110100001000111111 【输入用例4】 99999999 8 【输出用例4】 575360377 【输入用例5】 255 16 【输出用例5】 FF 【输入用例6】 2025202420232022 16 【输出用例6】 731E92EDB2F56 */

相关新闻

  • 2026 深圳包包回收市场解析:分区探店报价与避坑全攻略 - 薛定谔的梨花猫
  • Android 13 网络Adb限制解除:从源码到实战的完整适配指南
  • 从Softmax到SphereFace:解读CVPR 2017如何用角度间隔重塑人脸识别

最新新闻

  • 终极指南:如何在Mac上轻松运行Windows软件和游戏
  • SAM 2 微调实战:自定义数据集下的掩码分割落地指南
  • 打破门店限制!2026济南黄金回收行业深度解析,正规平台如何选 - 奢侈品回收评测
  • 爱回收买二手苹果靠谱吗?拆完流程我有了答案 - 新闻快传
  • 2026沈阳奢侈品回收实测!名包出手选这家,省心靠谱不被坑 - 奢侈品回收评测
  • 安徽初三中考没考上高中怎么办?合肥这所优秀中专值得特别关注。 - 我叫小周

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号