C++ 求正整数所有因子和

题目描述

已知一个正整数 'N' (20<=N<=800000000),请你编写程序求出该数的全部因子(不包括 '1' 和它本身)的和。

输入格式

一个正整数 'N'

输出格式

一个整数(因子和)

输入输出样例

样例 1

输入样例 复制 24 输出样例 复制 35

样例说明 24的因子:2,3,4,6,8,12

解题思路:

  1. 遍历从2到sqrt(N),判断i是否为N的因子,如果是则将i和N/i加入到因子和中。
  2. 特别地,如果N的平方根是整数,那么将其加入到因子和中。
  3. 返回因子和。

具体实现步骤:

  1. 读取输入的正整数N。
  2. 初始化因子和sum为0。
  3. 遍历i从2到sqrt(N),判断i是否为N的因子,如果是则将i和N/i加入到sum中。
  4. 判断N的平方根是否为整数,如果是则将其加入到sum中。
  5. 输出sum作为结果。
C++ 求正整数所有因子和

原文地址: https://www.cveoy.top/t/topic/bP3v 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录