news 2026/4/14 6:37:23

计算2的N次方 和 大整数的因子

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算2的N次方 和 大整数的因子

计算2的N次方

用数组存储大整数,每一位存储一个数字(0-9),然后进行 N 次乘以 2 的操作。

#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; // 2^0 = 1,初始值 int num[100] = {1}; // 存储结果的每一位(逆序存储,个位在num[0]) int len = 1; // 当前数字的长度 // 进行 N 次乘以 2 的操作 for (int i = 0; i < N; i++) { int carry = 0; // 进位 // 每一位都乘以 2 for (int j = 0; j < len; j++) { int product = num[j] * 2 + carry; num[j] = product % 10; // 当前位的值 carry = product / 10; // 进位 } // 处理最后的进位 while (carry > 0) { num[len] = carry % 10; carry /= 10; len++; } } // 输出结果(逆序输出) for (int i = len - 1; i >= 0; i--) { cout << num[i]; } cout << endl; return 0; }

大整数的因子

这个问题需要判断一个大整数(最多30位)能否被 2-9 中的某个数整除。因为 c 可能很大,我们需要用字符串读取这个数,然后分别判断整除性。

由于 c 最多有 30 位,无法用普通整数类型存储,所以:

  1. 将 c 作为字符串读入

  2. 对每个 k (2 ≤ k ≤ 9),判断 c 是否能被 k 整除

  3. 使用大整数除法取余的方法来判断整除性

#include <bits/stdc++.h> using namespace std; int main() { string c; cin >> c; bool found = false; // 是否找到符合条件的 k // 检查 k 从 2 到 9 for (int k = 2; k <= 9; k++) { int remainder = 0; // 模拟大整数除以 k 的过程 for (char digit : c) { int num = digit - '0'; remainder = (remainder * 10 + num) % k; } // 如果余数为 0,说明能整除 if (remainder == 0) { if (found) { cout << " "; // 不是第一个数,输出空格 } cout << k; found = true; } } if (!found) { cout << "none"; } cout << endl; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 1:03:08

3步打造中文文献高效管理系统:智能工具驱动的学术工作流革新

3步打造中文文献高效管理系统&#xff1a;智能工具驱动的学术工作流革新 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件&#xff0c;用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 你是否也…

作者头像 李华
网站建设 2026/4/14 9:03:26

Unity视觉优化工具深度解析:UniversalUnityDemosaics技术指南

Unity视觉优化工具深度解析&#xff1a;UniversalUnityDemosaics技术指南 【免费下载链接】UniversalUnityDemosaics A collection of universal demosaic BepInEx plugins for games made in Unity3D engine 项目地址: https://gitcode.com/gh_mirrors/un/UniversalUnityDem…

作者头像 李华
网站建设 2026/4/10 11:45:22

7个技巧玩转AntiMicroX:从入门到高手的手柄映射指南

7个技巧玩转AntiMicroX&#xff1a;从入门到高手的手柄映射指南 【免费下载链接】antimicrox Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support. 项目地址: https://gitcode.com/GitHub_…

作者头像 李华
网站建设 2026/4/13 20:23:19

Multisim14使用教程:晶体管特性曲线绘制完整示例

以下是对您提供的博文《Multisim14使用教程&#xff1a;晶体管特性曲线绘制完整技术分析》的深度润色与专业重构版本。本次优化严格遵循您的全部要求&#xff1a;✅ 彻底去除AI腔调与模板化结构&#xff08;无“引言/总结/展望”等刻板标题&#xff09;✅ 所有内容有机融合为一…

作者头像 李华
网站建设 2026/4/14 4:30:27

SMUDebugTool:深度掌控AMD Ryzen平台的硬件调试中枢

SMUDebugTool&#xff1a;深度掌控AMD Ryzen平台的硬件调试中枢 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitc…

作者头像 李华
网站建设 2026/4/9 5:18:10

OneMore突破窗口管理限制:完美兼容FancyZones实现高效布局优化

OneMore突破窗口管理限制&#xff1a;完美兼容FancyZones实现高效布局优化 【免费下载链接】OneMore A OneNote add-in with simple, yet powerful and useful features 项目地址: https://gitcode.com/gh_mirrors/on/OneMore OneMore作为一款强大的OneNote插件&#xf…

作者头像 李华