判断一个数是完美数还是素数

2023-12-21

问题是 : “编写一个函数来判断一个数是素数还是完全数。”

到目前为止,我已经首先完成了完美的部分,这就是我所拥有的:

#include <iostream>
using namespace std;
bool perfectNumber(int);
int main()
{
 int number;

 cout<<"Please enter number:\n";
 cin>>number;
 bool perfectNumber(number);

 return 0;
}
bool perfectNumber(int number)
{
 int i;

 int sum=0;
 for(i=1;i<=number/2;i++)
 {
  if(number%i==0)
  {
   sum+=i;
  }
 }
 if (sum==number)
  return i;
 else
  return 0;
}

但是,这段代码似乎有错误。 我看过这本书,但没有提到这个话题。 我想获得有关如何修复此代码的建议。

thanks!


bool perfectNumber(number);

这并不调用perfectNumber功能;它声明了一个名为的局部变量perfectNumber类型的bool并用值初始化它number转换为类型bool.

为了调用perfectNumber函数,您需要使用以下内容:

bool result = perfectNumber(number);

or:

bool result(perfectNumber(number));

另一方面:如果您要从流中读取输入(例如cin>>number),您必须检查以确保从流中提取值成功。就像现在一样,如果您输入asdf,提取将会失败并且number将保持未初始化状态。检查提取是否成功的最佳方法就是测试流的状态:

if (cin >> number) {
    bool result = perfectNumber(number);
}
else {
    // input operation failed; handle the error as appropriate
}

您可以了解有关如何设置和重置流错误状态的更多信息标志的语义basic_ios https://stackoverflow.com/questions/4258887/semantics-of-flags-on-basic-ios。您还应该咨询一本很好的 C++ 入门书籍 https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list了解更多流使用最佳实践。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

判断一个数是完美数还是素数 的相关文章

  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 如何在 Team Foundation 上强制发表有意义的签入评论?

    我有一个开发团队有一个坏习惯 他们写道poor签入评论 当我们必须在团队基础上查看文件的历史记录时 这使得它成为一场噩梦 我已经启用了变更集评论政策 这样他们甚至可以在签到时留下评论 否则他们不会 我们就团队的工作质量进行了一些讨论 他们很
  • 像“1$”这样的位置参数如何与 printf() 一起使用?

    By man I find printf d width num and printf 2 1 d width num 是等价的 但在我看来 第二种风格应该与以下相同 printf d num width 然而通过测试似乎man是对的 为什
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反
  • ModelBinder 验证在使用反射的 getter 上中断

    我遇到了一个似乎与反射和模型绑定验证有关的问题 并且FormatterParameterBinding ExecuteBindingAsync 特别是 虽然我可以使用方法来做我想做的事情 但如果我可以使用属性 我会更喜欢它 在这里 我正在寻
  • 将新行添加到表后如何更新 datagridview 的行列表

    我有一个 datagridview 在表单的加载事件上填充了表集合 我还有一个由用户填写的表单 并将新行添加到表 onclick 事件 我想在向该表添加新行后更新 datagridview表 我使用绑定到绑定数据源的 sqladapter
  • C# 3维数组

    我想将 3 维数组中的 ARRAY 存储到buildingCostIds 中 但它说我必须有第三个数字 public static int buildingCost 0 1 2 5 5 5 public static void addBui
  • 保存时的 NHibernate FlushMode

    我已将 NHibernate 会话上的 FlushMode 属性设置为 FlushMode Never 但是当我调用 session Save User 时 无论如何都会调用数据库 这是应该如何工作的吗 我认为在我调用 Flush 之前它不
  • 将非模板基类向下转型为模板化派生类:可能吗?

    我正在为游戏实现一个事件系统 它使用事件队列和数据结构来保存给定事件类型的所有注册事件处理程序 到目前为止 注册处理程序工作得很好 但是当涉及到取消注册它们时 例如 当游戏对象被销毁时会发生这种情况 我在模板和转换方面遇到了一些麻烦 我将

随机推荐

  • Eclipse、Git 和 Bitbucket - 无法推送 - 错误 401 未经授权

    我在使用 Bitbucket 和 Egit 时遇到问题 我在 BitBucket 上创建了一个新存储库 还在 Eclipse 中创建了一个新项目 当我尝试推送提交时 收到以下错误消息 Can t connect to any reposit
  • “只能加入可迭代的”python 错误

    我已经看过这篇关于可迭代 python 错误的文章 只能迭代 Python 错误 https stackoverflow com questions 19821026 can only iterable python error 但这是关于
  • Pandas 中的数据帧上采样

    给定按月索引的数据帧 我想按天重新索引 上采样 以前按月索引的值现在应除以该月的天数 try tidx m pd date range 2011 01 31 periods 2 freq M tidx d pd date range 201
  • 获取python的itertools循环当前元素

    我知道你可以使用c cycle a b c 使用在元素之间循环c next 但是有办法获取迭代器的当前元素吗 例如如果c next 回 c 这意味着迭代器位于 b 前 有什么方法可以让我得到 b 不使用next 迭代器 生成器没有任何方法来
  • XSD 验证 xs:date 和 xs:dateTime 的错误格式

    当我设置year如下所示的部分 20512 或类似的内容 XSD 仍然验证 XML 任何想法 这是一个缺陷还是我必须使用简单类型与给定的模式 Thanks XSD
  • 在 Yii 中,有没有办法使用 CActiveForm 验证表格输入?

    情况 我使用了 Yii 网站上的 wiki 文章 收集表格输入 http www yiiframework com doc guide 1 1 en form table 以如下为例 我不认为我需要针对多个模型验证传统意义上的表格输入 我只
  • 与静态库的链接不等于与其对象的链接

    Problem 与静态库链接时生成的固件映像与与直接从静态库中提取的对象链接时生成的固件映像不同 两个固件映像都没有错误地链接并成功加载到微控制器上 后一个二进制文件 与对象链接 按预期成功执行 而前一个二进制文件 链接到静态库 则不然 编
  • URLWithString:返回 nil

    这可能很容易 但我似乎不明白为什么URLWithString 在这里返回零 localisationName is a arbitrary string here NSString webName localisationName stri
  • jquery隐藏预加载[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 这是我的页面http equipe94 com 2009e html http equipe94 com 2009e h
  • 为什么这个任务提前返回?我做错了什么吗?

    我正在尝试设置一群具有最小耦合的工作人员 但我想使用 C async和任务 并非所有任务都是纯异步的 有些任务是完全同步的 这样做的动机是我想创建一些执行业务逻辑的简单方法 并使用System Threading Tasks TaskAPI
  • 检测 Mac OS X 上的调试器

    我试图检测我的进程是否正在调试器中运行 在 Windows 中有很多解决方案 在 Linux 中我使用 ptrace PTRACE ME 0 0 0 并检查其返回值 我没有设法在 Mac OS X 上执行相同的基本检查 我尝试使用 ptra
  • 请解释一下使用 std::ignore 的这段代码

    我正在阅读有关的文档std ignore http en cppreference com w cpp utility tuple ignore来自 cppreference 我发现很难掌握这个对象的真正目的 并且示例代码并没有很好地说明这
  • 如何使用 RxJS 显示“用户正在输入”指示器?

    我了解一点 BaconJS 但现在我尝试通过创建 用户正在输入 指示器来学习 RxJS 这很简单 可以用两个简单的规则来解释 当用户打字时 指示器应该立即可见 当用户停止键入时 指示器应该仍然可见 直到用户最后一次键入操作后 1 秒 我不确
  • 矩阵的行主布局与列主布局

    在编程密集矩阵计算时 是否有任何理由选择行优先布局而不是列优先布局 我知道 根据所选矩阵的布局 我们需要编写适当的代码来有效地使用缓存以达到速度目的 行主布局看起来更自然 更简单 至少对我来说 但是像 LAPACK 这样用 Fortran
  • 使用 Oracle 11g 的 Oracle 开发人员虚拟机

    I found here http www oracle com technetwork community developer vm index html带有 Oracle DB 和 Oracle Linux 的 VirtualBox 的
  • 编辑RefineryCMS 2.1 Menu Presenter以操作dom_id css和其他属性

    我目前正在尝试从 gem 版本更新现有的 RefineryCMS 应用程序 以便我可以同时添加 bootstrap 3 gem refinerycms gt 2 0 10 to gem refinerycms gt 2 1 0 在删除过时的
  • IO异常:Oracle升级到12g后出现Oracle Error ORA-12650

    在我们的 Oracle DB 从 11g 升级到 12g 后 我们得到了下面的堆栈跟踪 Io exception Oracle Error ORA 12650 我该如何解决这个问题 2015 10 26 14 59 36 319 RMI T
  • 需要一个插入行并返回 ID 的存储过程

    我尝试编写一个存储过程 首先将新记录插入表中 然后返回该新记录的 id 我不确定这是否是实现这一目标的正确方法和最佳方法 ALTER PROCEDURE dbo spAddAsset Name VARCHAR 500 URL VARCHAR
  • minitest - 模拟 - 期望关键字参数

    当我想验证模拟是否发送了预期的参数时 我可以这样做 mock expect fnc nil a b 但是 如果我想模拟的课程看起来像这样 class Foo def fnc a b end end 我如何模拟它并验证传递的值a b 下面是我
  • 判断一个数是完美数还是素数

    问题是 编写一个函数来判断一个数是素数还是完全数 到目前为止 我已经首先完成了完美的部分 这就是我所拥有的 include