C++程序设计亲密数对

本文介绍了如何使用C++编写程序来查找6到10000之间的亲密数对,程序设计包括找出给定数的因子之和并与另一个数进行比较。然而,作者提到程序在VisualStudio2022中运行较慢,可能由于配置问题。

基础知识

什么是亲密数对:两个整数A,B,A除它本身之外的所有的因子之和等于B,同时B除它本身之外的所有的因子之和等于A,那么这两个整数就被称之为亲密数对。

例子:220除它本身之外的因子(能够整除该数而没有余数的数)是1,2,4,5,10,11,20,22,44,55,110(我更喜欢这么写:1,2,110,4,55,5,44,10,22,11,20),其和为1+2+4+5+10+11+20+22+44+55+110=284;而284除它本身之外的因子是1,2,4,71,142,其和为1+2+4+71+142=220。两者符合亲密数对的定义,故220与284互为亲密数对。

用C++程序求亲密数对

要求:求6~10000内所有的亲密数对

C++程序设计:

//写一个求6~10000里的亲密数对的C++程序
//程序进行设计的思路:
//1.找出给定范围内某数的除它本身以外的所有因数并求和
//2.与另外范围内某数进行是否=的判断:<1>两数分别与两和==——>为亲密数对
//                                   <2>两数分别与两和!=——>不为亲密数对
#include<stdio.h>
int Sumys(int a)
{
    int i, sum = 0;
    for (i = 1; i < a; i++)
    {
        if (a % i == 0)
            sum = sum + i;
    }
    return sum;
}
//创建一个函数完成任务1
void main()
{
    int j, k;
    for (j = 6; j <= 10000; j++)
    {
        for (k = 6; k < j; k++)
        {
            if (Sumys(j) ==k&& Sumys(k)==j)
                printf("%d和%d互为亲密数对", j,k);

        }
    }
}
//进行任务2的判断

运行程序之后就可以得到结果,但是代码在我的电脑的Visual Studio 2022里面编译的速度太慢,我也不太清楚是哪里出了问题,明天去问问我的编程老师,再在明天的博文中进行说明。

我自己的电脑和下载的vs6.0存在某些冲突,而Visual Studio 2022老师告诉我说它要求的配置比较高,我的电脑带不动。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值