首页 > 其他分享 >完数,一个数恰好等于它的因子相加

完数,一个数恰好等于它的因子相加

时间:2024-03-29 19:58:16浏览次数:23  
标签:int 相加 因子 num 完数 等于

示例:

6=1+2+3

方法:找到num的所有因子,相加后检查是否等于num,如果等于,则按照相应格式输出。

找出1000以内的完数。

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
    int n, i, sum = 0, num,count=0;
    int a[10];
    int j;
    for (j = 2; j <= 1000; j++) {
        num = j;
        sum = 0;
        count = 0;
        for (i = 1; i <= j; i++) {
            if (num % i == 0) {//i为num的因子
                sum += i;
                num /= i;
                a[count++] = i;//存储在数组中
            }
        }
        if (sum == j) {//完数,按照下列格式输出
            printf("%d=", j);
            for (i = 0; i < count - 1; i++) {
                printf("%d+", a[i]);
            }
            printf("%d\n", a[i]);
        }
    }
    return 0;
}
 

运行结果截图:

如果该内容对你有小小的帮助,请给我点个赞!谢谢。

标签:int,相加,因子,num,完数,等于
From: https://blog.csdn.net/qq_53250579/article/details/137048755

相关文章

  • LeetCodeHot100 链表 160. 相交链表 206. 反转链表 234. 回文链表 141. 环形链表
    160.相交链表https://leetcode.cn/problems/intersection-of-two-linked-lists/description/?envType=study-plan-v2&envId=top-100-likedpublicListNodegetIntersectionNode(ListNodeheadA,ListNodeheadB){intlenA=0;intlenB=0;L......
  • Double类型数值相加导致精度缺失问题
    问题描述doublev1=13.01;for(inti=0;i<10;i++){v1+=13;System.out.println(v1);}解决方案doublev1=4.5;doublev2=4.55;BigDecimalb1=newBigDecimal(Double.toString(v1));BigDecimalb2=new......
  • 07天【代码随想录算法训练营34期】 第三章 哈希表part02(● 454.四数相加II ● 383.
    454.四数相加IIclassSolution:deffourSumCount(self,nums1:List[int],nums2:List[int],nums3:List[int],nums4:List[int])->int:table=dict()foriinnums1:forjinnums2:if(i+j)intable:......
  • 26、将文字中带单位的数字相加
    1、首先在第一行里面将数字相加:A+1888+888+300 2、在第二行里面输入【ctrl+e】3、ctrl+h,调出替换框把字母【A】替换成【=】,替换之后就全部合计了 ......
  • 每日刷题 例题训练 两数相加
    一.题目给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例:输入:nums=[3,2,4],......
  • leedocde-各位相加
    三个简单函数:classSolution:defaddDigits(self,num:int)->int:#如果数字已经是个位数,则直接返回ifnum<=9:returnnum#持续执行直到数字变成个位数为止whileTrue:#将数字转换为其各个......
  • 【每周例题】力扣 c++ 各位相加
    各位相加题目各位相加 题目解析这个题目看似需要使用递归方法或者使用while循环进行求解,其实你只需要统计前三十个数就可以发现规律:  根据图表可知,除了数字0,其他数字各位相加的最后结果都是其数字对9取模。所以从这个结果可以得到以下代码代码#include<iostream>u......
  • 两数相加详细解说
    Definitionforsingly-linkedlist.publicclassListNode{intval;ListNodenext;ListNode(){}ListNode(intval){this.val=val;}ListNode(intval,ListNodenext){this.val=val;this.next=next;}}*/classSolution{publicListNodead......
  • Jumpserver 堡垒机用户启用双因子登录
    前言:堡垒机双因子登录    堡垒机往往是内部权限的集合体,拿到了堡垒机的用户账号密码,很容易就顺藤摸瓜攻破各种应用系统,除了常规的用户名复杂密码的要求外,我们常常都要求采用双因子的登录方式。双因子最常见的就是账号密码+短信验证,复杂点就有账号密码+MFA工具。......
  • HJ6 质数因子
    https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607?tpId=37&tqId=21226&rp=1&ru=%2Fexam%2Foj%2Fta&qru=%2Fexam%2Foj%2Fta&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D37&difficulty=undefined&judgeStatus=undefined&tags=&......