首页 > 编程语言 >利用C++语言实现“完数”的输出(键入范围)

利用C++语言实现“完数”的输出(键入范围)

时间:2022-09-30 00:22:52浏览次数:76  
标签:sum 键入 C++ 因子 完数 代码 范围

目录

文章目录

前言

一、“完数”是什么?

二、代码直入

1.键盘键入所求输出范围的实现

2.完整代码

总结


 

 

 

 


前言

 

利用C++语言实现“完数”的输出


 

一、“完数”是什么?

完全数(Perfect number),又称完美数完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。

如果一个数恰好等于它的真因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。截至2018年,相关研究者已经找到51个完全数。

二、代码直入

1.键盘键入所求输出范围的实现

代码如下(示例):

cout << "请输入所求整数范围上限:" << endl;
    cin >> k;//键入范围上限

2.完整代码

代码如下(示例):

/*问题分析:解题关键是计算出所选取的整数i的因子(因子就是所有可以整除i这个数的树),
讲各个因子累加到变量sum(就是记录所有的因子和),如果sum与整数相等,则可以判断出i为“完数”,
反之则不是“完数”*/
#define _CRT_SECURE_NO_WARNINGS
#include  <iostream>
using namespace std;
//计算出“完数”


int main(void)
{
    int i, j, k, sum;//变量i表示控制选定数范围,j控制除数的范围,k键入所求范围上线,sum记录因子累加之和
    cout << "请输入所求整数范围上限:" << endl;
    cin >> k;//键入范围上限
    for (i = 2; i <= k; i++)
    {
        sum = 0;//保证每一次循环sum都为0
        for (j = 1; j < i; j++)
        {
            if (i % j == 0)//判断j是否为i的因子
                sum += j;
        }
        if (sum == i)//判断因子和与i相等
            cout << "完数为:" << i << endl;
    }
    system("pause");
    return 0;
}

运行结果(键入10000)

​编辑


 

总结

解题关键是计算出所选取的整数i的因子(因子就是所有可以整除i这个数的树),
讲各个因子累加到变量sum(就是记录所有的因子和),如果sum与整数相等,则可以判断出i为“完数”,反之则不是“完数”。

对于编程语言的实现一定要耐着性子充分分析问题的关键进而转化为编程语言。加油!

标签:sum,键入,C++,因子,完数,代码,范围
From: https://www.cnblogs.com/guang123/p/16743571.html

相关文章

  • Effective Modern C++ 英文版 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/15aAzcL50G7kNPPEVEDfKhQ点击这里获取提取码 ......
  • C++调用python(二)
    目录三、调用函数四、调用类五、调用SSD目标检测算法六、遇到的错误参考链接:正文一、基本使用方法二、调用简单语句三、调用函数四、调用类五、调用SSD目标......
  • C++指针入门
    C++指针入门目录C++指针入门C++中变量位置C++中指针的声明利用指针实现swap()C++中变量位置#include<iostream>usingnamespacestd;intmain(){intvar1;......
  • 浅析 C++ 调用 Python 模块
    浅析C++调用Python模块作为一种胶水语言,Python能够很容易地调用C、C++等语言,也能够通过其他语言调用Python的模块。Python提供了C++库,使得开发者能很方便......
  • C++ CMake 使用 Python3
    C++CMake使用Python3CMakeListst设置#如果使用的是非系统目录下的Python可以通过指定Python3_ROOT_DIR改变查找路径#set(Python3_ROOT_DIR"${CMAKE_SOURCE_D......
  • 在浏览器地址栏键入URL按下回车之后会经历什么?
    在浏览器地址栏键入URL按下回车之后主要会经历以下7个步骤1.查找浏览器缓存:如果查找到缓存中有我们URL对应的文件,则判断是否命中强缓存,如果命中直接读取使用即可,如果强缓存......
  • C++ 调用python方法
    主流方法将python程序编程文本形式的动态链接库,在c/c++程序中调用其中定义的函数。本质上是在c++中启动了一个python解释器,由解释器对python相关的代码进行执行,执行......
  • 不是吧,MATLAB代码居然能直接转成C/C++代码
    前一段时间在工作中遇到这样一个实际问题,项目主体部分是用C++写的,但其中有一小部分算法是用MATLAB写的。于是乎,我第一想法是如何用C++把MATLAB中的代码实现出来。这时,一位前......
  • 百度工程师带你探秘C++内存管理(理论篇)
    作者|daydreamer在互联网的服务中,C++常用于搭建高性能、高并发、大流量、低延时的后端服务。如何合理的分配内存满足系统高性能需求是一个高频且重要的话题,而且因为内存自......
  • DEV C++创建64位DLL,再用C#调用入门测试
    1. DEVC++创建64位DLL  DEVC++新建--项目--dll--选择C项目---确定  C文件中添加1#include"devdll.h"2#include<windows.h>3/*在程序中添加......