蓝桥杯LQ1044 求完数

题目描述

因子:因子也叫因数,例如3×5=15,那么3和5是15的因子。

同时15×1=15,那么1和15也是15的因子。 1,3,5,15 这四个因子是15的所有因子。

完数:如果一个数等于不含它本身的其他因子之和,则称该数为'完数'。

如6的因子有1,2,3,6,且1+2+3= 6,因此6是完数。

输入一个正整数N(0<N<10000),输出小于N的所有完数及小于N的完数个数(个数前加"*",例如:*2)。

输入

输入一个正整数 N 。

输出

输出小于N的所有完数及小于N的完数个数。

每个输出一行,具体参考样例输出。

样例输入 复制
900
样例输出 复制
6
28
496
*3

思路:

写一个函数,循环+判断

代码:

cpp 复制代码
#include<cstdio>
int isPerfectNum(int n)
{
    int i,s=0;
    for(i=1;i<n;i++)
        if(n%i==0)
            s+=i; 
    if(s==n)
        return 1; 
    else 
        return 0;
}
int main()
{
    int n,m = 0;
    scanf("%d",&n);
    for (int i = 1; i <= n; i++) {
        if(isPerfectNum(i))
        {
            printf("%d\n",i);
            m++;
        }
    }
    printf("*%d",m);
    return 0;
}
cpp 复制代码
#include<iostream>
using namespace std;
int isPerfectNum(int n)
{
    int i,s=0;
    for(i=1;i<n;i++)
        if(n%i==0)
            s+=i; 
    if(s==n)
        return 1; 
    else 
        return 0;
}
int main()
{
    int n,m = 0;
    cin>>n;
    for (int i = 1; i <= n; i++) {
        if(isPerfectNum(i))
        {
            cout<<i<<endl;
            m++;
        }
    }
    cout<<"*"<<m;
    return 0;
}

点个赞吧,谢谢

相关推荐
喉咙痛的恐龙7 分钟前
C++之“string”类的模拟实现
开发语言·c++
阿巴~阿巴~10 分钟前
C/C++蓝桥杯算法真题打卡(Day3)
c语言·c++·算法·蓝桥杯
QQ129715794024 分钟前
51单片机 矩阵
单片机·嵌入式硬件·深度学习·算法·硬件工程·集成学习
<但凡.26 分钟前
题海拾贝:P9241 [蓝桥杯 2023 省 B] 飞机降落
数据结构·算法·蓝桥杯
被AI抢饭碗的人31 分钟前
算法题(90):队列安排
算法
Spring小子32 分钟前
蓝桥杯[每日两题] 真题:好数 神奇闹钟 (java版)
java·数据结构·算法·蓝桥杯
记得早睡~1 小时前
leetcode654-最大二叉树
javascript·数据结构·算法·leetcode
旧厂街小江1 小时前
LeetCode 第63题:不同路径 II
算法·程序员·架构
写代码的橘子n1 小时前
unordered_set 的常用函数
数据结构·算法·哈希算法
EnigmaCoder1 小时前
蓝桥杯刷题周计划(第二周)
学习·算法·蓝桥杯