C语言求1000内完数

#include<stdio.h>
int main()
{
    int a,b,c,d;
    for(a=2,b=0;a<=1000;a++)
    {
        for(c=1,d=0;c<a;c++)
        {
            if(a%c==0)
                d=d+c;                    //求除自身的因数和
        }
        if(d==a)
        {
            printf("%d的因数(除去本身)有",a);
            for(c=1,d=0;c<a;c++)
            {
                if(a%c==0)
                {
                    printf("%d ",c);
                }
            }
            printf("\n%d是完数\n",a);
        }
    }
}
时间: 2025-01-04 03:27:32

C语言求1000内完数的相关文章

hdu3709(求区间内平衡数的个数)数位dp

题意:题中平衡数的定义: 以一个位置作为平衡轴,然后左右其他数字本身大小作为重量,到平衡轴的距离作为全职,实现左右平衡(即杠杆原理平衡).然后为区间[x,y]内平衡数的个数. (0 ≤ x ≤ y ≤ 1018) 解法:数位dp.如果一个数的平衡数,那么它的平衡轴位置是确定的.原来一直尝试数位dp在dfs时候列举平衡轴的位置,后来才意识到可以提前枚举平衡轴位置,然后再dfs,这样比较好写.dp[mid][pre][wei];表示对称轴是mid,计算第pre个位置以后需要力矩大小wei的数的个数.

求100内的数和

//1+2+3+...+nstatic int add(int n) { if(n == 1) { return 1; } else { return n + add(n-1); } } 求100内的数和

SPOJ 3267 D-query(离散化+主席树求区间内不同数的个数)

DQUERY - D-query #sorting #tree English Vietnamese Given a sequence of n numbers a1, a2, ..., an and a number of d-queries. A d-query is a pair (i, j) (1 ≤ i ≤ j ≤ n). For each d-query (i, j), you have to return the number of distinct elements in the

码农谷 找出N之内的所有完数

题目描述 一个数如果恰好等于它的因子之和,这个数就称为"完数". 例如,6的因子为1.2.3,而6=1+2+3,因此6是"完数". 编程序找出N之内的所有完数,并按下面格式输出其因子. 输入描述 N 输出描述 ? its factors are ? ? ? 样例 输入: 1000 输出: 6 its factors are 1 2 3 28 its factors are 1 2 4 7 14 496 its factors are 1 2 4 8 16 31 62

找出1000以内的所有完数

题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 ".例如6=1+2+3.编程 找出1000以内的所有完数. 1 package com.li.FiftyAlgorthm; 2 3 /** 4 * 题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 ".例如6=1+2+3.编程 找出1000以内的所有完数. 5 * 6 * @author yejin 7 * 8 */ 9 public class Wanshu { 10 public static

26.一个正整数如果恰好等于它的因子之和,这个数称为“完数”,如6=1+2+3,求1000以内所有的完数.

?#include<iostream> using namespace std; int main() { for(int i=1;i<=1000;i++) { int sum=0; for(int j=1;j<i;j++) { if(i%j==0) { sum+=j; } } if(sum==i) { cout<<i<<" "<<endl; } } return 0; } 26.一个正整数如果恰好等于它的因子之和,这个数称为

18.求1000以内的完数

一个数如果恰好等于他的因字数之和,这个数就称为"完数",例如,6的因子为1,2,3,而6=1+2+3,因此6是一个"完数" 1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10; 6 int i,a,n,s; 7 for(a=2; a<=1000; a++) //a是2-1000之间的整数,检查它是

程序设计入门——C语言 第6周编程练习 2 完数(5分)

2 完数(5分) 题目内容: 一个正整数的因子是所有可以整除它的正整数.而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数.例如6=1+2+3(6的因子是1,2,3). 现在,你要写一个程序,读入两个正整数n和m(1<=n<m<1000),输出[n,m]范围内所有的完数. 提示:可以写一个函数来判断某个数是否是完数. 输入格式: 两个正整数,以空格分隔. 输出格式: 其间所有的完数,以空格分隔,最后一个数字后面没有空格.如果没有,则输出一行文字: NIL (输出NIL三个大写字母

中国MOOC_零基础学Java语言_第7周 函数_2完数

2 完数(5分) 题目内容: 一个正整数的因子是所有可以整除它的正整数.而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数.例如6=1+2+3(6的因子是1,2,3). 现在,你要写一个程序,读入两个正整数n和m(1<=n<m<1000),输出[n,m]范围内所有的完数. 提示:可以写一个函数来判断某个数是否是完数. 输入格式: 两个正整数,以空格分隔. 输出格式: 其间所有的完数,以空格分隔,最后一个数字后面没有空格.如果没有,则输出一个空行. 输入样例: 1 10 输出样例: