zoukankan      html  css  js  c++  java
  • poj1528---(数论)

    题意:一个数除了自身以外的所有因数相加,得到的数如果小于自身,输出deficient,否则输出abundant,如果相等,输出perfect

    这道题核心:求一个数的所有除本身之外的因数的和

    int sum=1,i;
               for(i=2;i<n;i++)
               {
                   if(n%i==0)
                       sum+=i;
               }

    一个数如果除以小于他的从2开始的数,如果n%i==0,说明能n能被i整除,i是他的一个因数,sum+=i,再让i++,i到n-1结束

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int n;
        printf("PERFECTION OUTPUT
    ");
        while(scanf("%d",&n)!=EOF)
        {
            if(n==0)
            {
                printf("END OF OUTPUT
    ");
                break;
            }
            else if(n==1)
                printf("%5d  DEFICIENT
    ",n);
            else
            {
               int sum=1,i;
               for(i=2;i<n;i++)
               {
                   if(n%i==0)
                       sum+=i;
               }
               if(sum<n)        printf("%5d  DEFICIENT
    ",n);
               else if(sum==n)  printf("%5d  PERFECT
    ",n);
               else             printf("%5d  ABUNDANT
    ",n);
            }
        }
    }
  • 相关阅读:
    Queue
    Singly-Linked List
    Array
    HTTP请求详解
    封装element的API
    uniapp登录逻辑
    Selector学习笔记 (未完待续)
    <Scalable IO in Java>学习
    Spring PropertyMapper源码阅读笔记
    leetcode 字节跳动探索系列
  • 原文地址:https://www.cnblogs.com/gabygoole/p/4483005.html
Copyright © 2011-2022 走看看