信奥赛一本通1150:求正整数2和n之间的完全数

简介: 题目描述】求正整数2和n之间的完全数(一行一个数)。完全数:因子之和等于它本身的自然数,如 6=1+2+3【输入】输入n(n≤5000)。【输出】一行一个数,按由小到大的顺序。【输入样例】7【输出样例】

题目描述】

求正整数2n之间的完全数(一行一个数)。

完全数:因子之和等于它本身的自然数,如 6=1+2+3

【输入】

输入n(n≤5000)

【输出】

一行一个数,按由小到大的顺序。

【输入样例】

7

【输出样例】

6

C++:
#include<iostream>
using namespace std;
int judge(int a);
int main()
{
    int n,k;
    cin>>n;
    for(k=2;k<=n;k++)
        if(judge(k)==k)      //判断该自然数的因子之和是否等于本身
            cout<<k<<endl;
    return 0;
}
int judge(int a)    //该函数用来计算自然数的因子之和
{
    int i;
    int term=0;
    for(i=1;i<=a-1;i++)      
        if(a%i==0)      
            term+=i;
    return term;
}
C语言:
#include<stdio.h>
int judge(int a);
int main()
{
    int n,k;
    scanf("%d",&n);
    for(k=2;k<=n;k++)
        if(judge(k)==k)      //判断该自然数的因子之和是否等于本身
            printf("%d\n",k);
    return 0;
}
int judge(int a)    //该函数用来计算自然数的因子之和
{
    int i;
    int term=0;
    for(i=1;i<=a-1;i++)      
        if(a%i==0)      
            term+=i;
    return term;
}


相关文章
|
2月前
|
算法 测试技术
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
|
25天前
|
机器学习/深度学习 人工智能
【洛谷 P1028】[NOIP2001 普及组] 数的计算 题解(递推)
在NOIP2001普及组的数的计算题目中,给定自然数`n`,需构造遵循特定规则的合法数列。合法序列始于`n`,新元素不超过前一项的一半。任务是找出所有这样的数列数量。例如,当`n=6`时,合法序列包括`6`, `6,1`, `6,2`, `6,3`, `6,2,1`, `6,3,1`。程序通过动态规划求解,当`i`为奇数时,`a[i] = a[i - 1]`;为偶数时,`a[i] = a[i - 1] + a[i / 2]`。代码中预处理数组`a`并输出`a[n]`作为答案。输入`n`后,程序直接计算并打印合法数列个数。
19 0
|
25天前
|
C++
【洛谷 P1075】[NOIP2012 普及组] 质因数分解 题解(判断质数)
NOIP2012普及组题目,给定合数$n$由两个不同质数乘积组成,求较大质数。输入一个正整数$n$,输出较大质因子。例如输入21,输出7。代码使用C++,通过循环和质数判断找到能整除$n$的质数,再求另一个质数,并输出较大者。
7 0
|
2月前
|
缓存 C语言
“拨”出数位上的数字 - 多种思路实现反向输出一个四位数(一)
本文介绍了编程中一个经典的入门题目——反向输出X位数,特别是以反向输出四位数为例,探讨了多种实现方法。这些方法包括使用取模运算分别获取数位、循环取数、利用scanf的宽度控制以及使用数组。每种方法都有其特点,适用于不同的场景。文章旨在帮助初学者拓宽编程思路,并鼓励读者讨论和分享更多实现方式。
46 0
|
2月前
|
C++
“拨”出数位上的数字 - 多种思路实现反向输出一个四位数(二)
```markdown 编写函数,统计正整数中零的个数和最大数字。例如:1080有2个零,最大数字是8。主函数负责输入正整数。解题思路:通过循环取数,逐位检查,更新零的计数器和最大数字。示例代码使用C++实现,通过传址调用来改变主函数中的值。注意,循环遍历数位体现了对每个数位的处理思想。 ```
43 0
|
2月前
|
算法 C语言
(“拨”取数字的典例:N位水仙花数判断及水仙花数变种)
这篇内容介绍了如何判断和生成水仙花数,水仙花数是一个n位数,其各位数字的n次方之和等于该数本身。文章首先回顾了"拨数"的概念,然后通过实例展示了如何判断三位水仙花数,并将其推广到任意位数的水仙花数。作者提供了详细的解题思路和代码示例,强调了解决这类问题时要慢下来,分步骤分析问题。最后,文章还探讨了一个水仙花数的变种问题,即数字拆分后乘积之和等于原数的情况。
44 0
|
2月前
|
C语言
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
|
2月前
|
Java C++ Python
试题 基础练习 数的读法
试题 基础练习 数的读法
26 0
|
10月前
P1308 [NOIP2011 普及组] 统计单词数(模拟加函数+数学分析)
P1308 [NOIP2011 普及组] 统计单词数(模拟加函数+数学分析)
48 0
|
11月前
蓝桥 凑平方数 (我依旧很菜)
蓝桥 凑平方数 (我依旧很菜)