1 条题解

  • 0
    @ 2025-10-30 16:40:41

    思路分析

    1. 任务拆解:

    • 读取整数n
    • 找出n的所有真因数(不包括n本身)
    • 计算真因数之和
    • 判断和是否等于n,输出结果

    2. 关键点分析:

    • 完数定义:所有真因数之和等于该数本身
    • 真因数范围:1到n-1
    • 检查条件:n能被i整除(n%i==0)

    3. 步骤规划:

    • 读取n的值
    • 初始化总和s=0
    • 循环遍历1到n-1的所有整数:
      • 检查i是否是n的真因数
      • 如果是真因数则累加到s
    • 判断s是否等于n
    • 输出"yes"或"no"

    4. 代码对应:

    • int n,s=0; cin>>n; → 读取n并初始化总和
    • for(int i=1;i<n;i++) → 遍历1到n-1
    • if(n%i==0) s+=i; → 检查并累加真因数
    • if(s==n) cout<<"yes"; else cout<<"no"; → 判断并输出结果
    • 1

    信息

    ID
    881
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    (无)
    递交数
    139
    已通过
    87
    上传者