如何判断完数然后输出6=1+2+3 28=1+2+4+7+14

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int f(int num){
    int index = 0;
    int sum=0;
    int a[50];
    for (int i = 1; i < num; i++){
        if (num%i == 0){
            a[index] = i;
            index++;
            sum += i;
        }
    }
        //打印数据
	//更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/
    if (sum == num){
        printf("  %5d yes it is", num);
        for (int i = 0; i<index; i++)
        {
            printf("%5d", a[i]);
        }
        return 1;
    }
    else{
        return 0;
    }
}
void main()
{
    for (int i = 0; i < 1000; i++){
        //控制打印
        if (f(i))
        {
            printf("\n");
        }
    }
    system("pause");
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索int
, include
, for
, index
, sum
, num
数输出
c语言完数输出因子、c语言判断完数、输出1000以内的完数、判断完数、java 完数并输出因子,以便于您获取更多的相关知识。

时间: 2024-09-19 09:58:06

如何判断完数然后输出6=1+2+3 28=1+2+4+7+14的相关文章

HDU 1406 完数 (数论)

完数 http://acm.hdu.edu.cn/showproblem.php?pid=1406 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Description 完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3:28=1+2+4+7+14. 本题的任务是判断两个正整数之间完数的个数. Inp

HDOJ(HDU) 1406 完数

Problem Description 完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3:28=1+2+4+7+14. 本题的任务是判断两个正整数之间完数的个数. Input 输入数据包含多行,第一行是一个正整数n,表示测试实例的个数,然后就是n个测试实例,每个实例占一行,由两个正整数num1和num2组成,(1 import java.util.Scanner; public class Main{ public static

求1000以内的完数。并输出。

问题描述 publicclassWanShu{publicstaticvoidmain(String[]args){inti,j,h=0;for(i=1;i<=1000;i++){for(j=1,h=0;j<=i/2;j++){if(i%j==0)h=h+j;}if(h==i)System.out.print("1000以内的完数");System.out.println();System.out.print(i);}}}用java语言编的不知哪错了.运行结果是输出了1~1

c#如何判断一个数是否是完数

完数就是该数的所有约数(能整除自己的自然数,但不包括本身)相加等于自己的数.如28就是一个完数,28=+1+2+4+7+14. 利用下面的算法可以一个数是否为完数,如果为完数输出该数所有的约数,并返回True,否则,返回False.程序代码如下: public bool IsWanShu(int Num){ int s=0; for (int i=1;i<Num;i++) { if((Num%i)==0) s=s+i; } if (Num == s) { string str = s.ToStr

2014秋C++第10周项目5参考-输出完数

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.   [项目5:输出完数](课本p86第20题)一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3,再如8的因子和是7(即1+2+4),8不是完数.编程找出1000以内的所有完数.提示:首先从2到1000构造循环控制变量为i的外层循环.每次循环中,利用内

《C语言及程序设计》实践参考——完数

返回:贺老师课程教学链接  项目要求 [项目1-完数]一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3,再如8的因子和是7(即1+2+4),8不是完数.(1)输入一个数n,判断n是否是完数[参考解答] 解1: #include <stdio.h> int main( ) { int n,s,m; printf("输入n:"); scanf("%d", &n); s=1; //s代表因子和.1是任何数的因

c语言-C语言完数问题,新手求指点~谢谢

问题描述 C语言完数问题,新手求指点~谢谢 C语言课后习题,求1000以内的完数,按以下格式输出: 6 its factors are 1,2,3 为什么我改成和答案一样的都输出空., 代码如下:#include int main() { int m,i,s; for(m=2;m<1000;m++)//2-1000个数 { s=0; for(i=1;i<=m;i++) if((m%i)==0)s=s+i; if(s==m) { printf("%d,its factors are&q

递归-新手求教 1-n个数 k个不同的数一组 输出所有可能

问题描述 新手求教 1-n个数 k个不同的数一组 输出所有可能 这是我编的,基本可以全部列举,但输出的时候相同头尾的多组第1和第k个数只输出一次(例如1开头5结尾:输出1 23 24 34 5 我想输出1 2 3 5 , 1 2 4 5, 1 3 4 5)怎么办用的递归 函数第一个形参是每组数的数量 上例为5 #include #include int ii; int iii; int bbb(int n,int i, int j, int k,int a[]) { for(int iii=i;

第12周 报告1 --- 2-1000内的完数

任务1:(课本p86第20题)一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3,再如8的因子和是7(即1+2+4),8不是完数.编程找出1000以内的所有完数. 本文先给出我做的程序,后面加上对同学们做法的点评. [第一部分 我的报告] 实验目的:学会使用循环控制语句解决实际问题,并强化注重效率的观念 实验内容:用循环控制语句编写程序,完成表达式的计算 /* 程序头部注释开始 * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算