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

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

数位和计算

【描述】输入一个大数,将该大数中的各位数字之和相加输出
【输入描述】一个大数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 */
http://www.jsqmd.com/news/1036365/

相关文章:

  • 2026 深圳包包回收市场解析:分区探店报价与避坑全攻略 - 薛定谔的梨花猫
  • 高效工作流管理:ComfyUI插件系统深度优化指南
  • 2026 平顶山防水,防水公司推荐|全域正规屋面防水 / SBS 防水 / 彩钢瓦防水防腐翻新 5 家合规企业排行榜 + 避坑攻略 - 速递信息
  • 嵌入式硬件调试技术:BDM与实时追踪原理与应用解析
  • 深入解析Solaris内核参数tcp.validnode_checking:原理、配置与网络故障排查
  • 2026 年 6 月最新|票务管理系统 / 景区票务管理系统 / 智慧景区票务系统公司实测权威榜单推荐 - 商业新知
  • CefFlashBrowser:终极Windows Flash兼容方案,轻松玩转经典Flash内容![特殊字符]
  • MPC8240嵌入式处理器内部仲裁与错误处理机制深度解析
  • Android 13 网络Adb限制解除:从源码到实战的完整适配指南
  • 从Softmax到SphereFace:解读CVPR 2017如何用角度间隔重塑人脸识别
  • AI写教材新利器,低查重保障,高效生成符合需求的专业教材!
  • I2C总线10位寻址机制详解:原理、实战与混合总线管理
  • 贵阳奢侈品鉴定与名表包包回收|2026年消费者信任度调查中的正规平台选择 - 年度推荐企业名录
  • 2026txt转pdf最简单方法合集!手机+电脑全覆盖,在线转换零难度 - 软件小管家
  • 2026年河南汝瓷伴手礼定制与企业商务礼品源头厂家采购指南 - 年度推荐企业名录
  • 嵌入式V.42bis数据压缩库:LZW算法在DSP568xx上的实战解析
  • 基于Bulk转录组整合分析的肺腺癌影像-病理进展分子机制与预后研究
  • Gogs高危零日漏洞深度解析:从符号链接到RCE的攻防实战
  • Windows系统文件TextShaping.dll丢失找不到问题解决
  • 2026广州黄金回收测评推荐——正规门店排行+避坑干货 - 奢品小当家
  • IT内幕16:微软中国薪资福利揭秘:为什么被称为“养老院”?
  • 如何在C++中正确地使用和操作指针?
  • 2026 年广州包包回收消费图鉴 - 薛定谔的梨花猫
  • Django毕设选题推荐:基于 Python+Django 的学生请假数据统计可视化系统的设计与实现 基于 Python+Django 的大学生【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 北京亨得利手表表盘进水修复全攻略:2026年华贸中心官方售后深度实测,从表镜起雾到机芯生锈全流程急救解析,附劳力士欧米茄卡地亚百达翡丽等品牌真实维修案例与避坑指南 - 劳力士官方售后中心
  • 2026深圳全屋定制深度测评排行榜|九大片区选购攻略,破解装修高频痛点 - 资讯速览
  • Linux(Ubuntu22.04/CentOS8)NetworkManager(nmcli)实战:从基础配置到网络诊断
  • 出生医学证明登报怎么办理?出生医学证明登报多少钱?(附模板+详细流程) - 叮咚办真方便
  • Windows系统文件stobject.dll丢失找不到问题解决
  • 基于STM8S003F3P6的PWM风机调速实战:以HAS10227为例