zoukankan      html  css  js  c++  java
  • nyist 597 完数

    完数?
    时间限制:1000 ms | 内存限制:65535 KB
    难度:1
    描述
    一个数如果恰好等于不等于它本身的所有因子之和,那么这个数就被称为"完数"。例如,6的因子为1,2,3,而6=1+2+3,因此,6是完数。要求给定一个整数n,请编写程序,确定n是否是完数。

    输入
    每组数据输入一个n(1<=n<=10^4)
    当n为-1时,输入结束。a
    输出
    每组数据输出一行,如果 n 不是完数,输出 No 。
    否则,以 n 的因子由小到大相加的形式输出。
    样例输入
    1
    2
    6
    -1样例输出
    No
    No
    6=1+2+3

     暴力求解。

    #include <stdio.h>

    int main()
    {
    int n;
    while (1) {
    scanf("%d", &n);
    if (n == -1) break;
    if (n == 6)
    printf("6=1+2+3 ");
    else if (n == 28)printf("28=1+2+4+7+14 ");
    else if (n == 496)printf("496=1+2+4+8+16+31+62+124+248 ");
    else if (n == 8128)printf("8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064 ");
    else printf("No ");
    }
    return 0;

    }


    #include <stdio.h>
    int main()
    {
    int n,i,j,s,k,a[10000];
    while(scanf("%d",&n)&&n!=-1)

    { s=0; k=0;
    for (j=1;j<n;j++)

    if (n%j==0) { s+=j; a[k++]=j; }
    if(s==n)
    { printf("%d=%d",n,1);

    for(i=1;i<k;i++) printf("+%d",a[i]); printf(" ");}

    else printf("No ");


    }
    return 0;
    }

    ***************************************

    错误不止一处


    #include <stdio.h>
    int main()
    {
    int n,i,j,s,k,a[10000];
    scanf("%d",&n);

    { s=0; k=0;
    for (j=1;j<n;j++)

    if (n%j==0) { s+=j; a[k++]=j; }
    if(s==n)
    { printf("%d=%d",n,1);

    for(i=1;i<k;i++) printf("+%d",a[i]); }

    else printf("no ");


    }
    return 0;
    }

    ********************************************************

    有错 有错 有错 有错 有错


    #include <stdio.h>
    int main()
    {
    int n,i,j,s,k,a[10000];
    scanf("%d",&n);

    { s=0; k=0;
    for (j=1;j<n;j++)

    if (n%j==0) { s+=j; a[k++]=j; }
    if(s==n)
    { printf("%d=%d",n,a[0]);

    for(i=1;i<k;i++) printf("+%d",a[i]); }

    else printf("No ");


    }
    return 0;
    }


    ******************************************************************************


    雏形


    #include <stdio.h>
    int main()
    {
    int n,i,j,s,k,a[10000];
    scanf("%d",&n);

    { s=0; k=0;
    for (j=1;j<n;j++)

    if (n%j==0) {s+=j;a[k++]=j; }
    if(s==n)
    for(i=0;i<k;i++) printf("%d ",a[i]);
    else printf("no ");


    }
    return 0;
    }


    ******************************8

    #include<stdio.h>
    int main()
    {
    int n,i,s;
    while(scanf("%d",&n)&&n!=-1)
    {
    s=0;
    for(i=1;i<=n/2;i++)
    {
    if(n%i==0)
    s=s+i;
    }
    if(s==n)
    {
    printf("%d=1",n);
    for(i=2;i<=n/2;i++)
    {
    if(n%i==0)
    printf("+%d",i);
    }
    printf(" ");
    }

    else
    printf("No ");
    }
    return 0;
    }

  • 相关阅读:
    明明已经include_once() 但还是报错Class 'XXXXXControllerTOPData' not found
    dell U2515H 2k显示器黑屏问题,dp线问题。
    centos7.4 php5升级到php7
    thinkphp批量插入 更新sql
    查询速度慢了10倍,查询条件类型不对,字符串当做数字类型。
    margin-left:auto;margin-right:auto; 不起作用的原因
    jquery 查找元素,id,class
    php分割url,获取参数query
    阿里云服务器删除日志的方法,查看有哪些大文件
    sql优化 分字段统计查询
  • 原文地址:https://www.cnblogs.com/2014acm/p/3901493.html
Copyright © 2011-2022 走看看