首页 > 其他分享 >亲密数

亲密数

时间:2023-05-20 23:13:57浏览次数:33  
标签:包括 亲密 整数 全部 3000 因子

一、问题描述

如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。

二、设计思路

1、定义变量i,a,b,n。从a开始第一层循环a=1;a<=3000;a++.

2、在a<3000成立的条件下,令b=0,i=1,i的取值范围是i<=a/2,如果a%i=0为真,则令b+=i,b为a的各因子和。

3、令n=0,i=1,i的取值范围是i<=b/2,如果b%i=0为真 ,则令n+=i,i为b的各因子和。

4、如果n=a且a<b,则a与b是一对亲密数,将其输出,直到a<=3000条件不成立为止。

三、程序流程图

 

四、代码实现

#include<stdio.h>
void main()
{
int a,i,b,n;
printf("There are followimg friendly--number pair smaller than 3000:\n");
for(a=1;a<3000;a++)
{
   for(b=0,i=1;i<=a/2;i++)
   if(!(a%i))b+=i;
   for(n=0,i=1;i<=b/2;i++)
   if(!(b%i))n+=i;
   if(n==a&&a<b)
    printf("%4d--%4d ",a,b);
}
}

  

标签:包括,亲密,整数,全部,3000,因子
From: https://www.cnblogs.com/tianpeisen/p/17417973.html

相关文章

  • 23.亲密数
      代码实现:#include<stdio.h>voidmain(){ inta,i,b,n; printf("Therearefollowingfriendly-numberspairsmallerthan3000:\n"); for(a=1;a<3000;a++){ for(b=0,i=1;i<=a/2;i++) if(!(a%i)) b+=i; for(n=0,i=1;i<=b/2;i++) if(!(b......
  • 3.2 亲密数
    #include<stdio.h>voidmain(){inta,i,b,n;printf("Therearefollowingfriendly--numberspairsmallerthan3000:\n");for(a-1;a<3000;a++)/*穷举3000以内的全部整数*/for(b=0,i=1;i<=a/2;i++)/*计算数a的各因子,各因子之和存放于b*/if(!(a%i))b+=i;for(n=......
  • 亲密数
     如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。#include<iostream>using namespace std;int main(){             for(int i=1;i<=3000;i++)       {......
  • 亲密数
    如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。我们只要确定一个数A,找出数A的因子并求和,再求出和的因子,并相加并判断是否等于数A即可求出亲密数。 #include<iostream>usingname......
  • 亲密数
    自然语言解决问题:根据问题描述,该问题可以转化为:给定整数A,判断A是否有亲密数。为解决该问题,首先定义变量a,并为其赋初值为某个整数。则按照亲密数定义,要判断a中存放的整数是否有亲密数,只要计算出该整数的全部因子的累加和,并将该累加和存放到另一个变量b中,此时6中存放的也是一......
  • 亲密数
    一问题描述如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。二设计思路首先输入取值范围然后再在循环中分别设立两层求因子和然后再比较是否相等。三程序流程图  四伪代码......
  • 亲密数
    亲密数:如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B成为亲密数。求3000以内的全部亲密数。解题思路:利用for循环遍历a从1取到3000,循环内利用循环判断a的因子并且用b储存a的因子之和,n储存b的因子之和,条件判断是否满足,满......
  • 第五章 内存和磁盘的亲密关系
    第五章观后感想:    内存和磁盘是计算机中主要的存储部件,磁盘中存储的程序,必须要加载到内存中才能运行,在磁盘中保存的原始程序是无法直接运行的。    磁......
  • 第五章 内存和磁盘的亲密关系
    计算机中主要的存储部件就是内存和磁盘,磁盘中存储的程序必须要加载到内存后才能运行在磁盘中保存的原始程序是无法直接运行的,这是因为负责解析和运行的程序的CPU需要通过内......
  • 3621、亲密字符串
    给你两个字符串s和goal,只要我们可以通过交换s中的两个字母得到与goal相等的结果,就返回true;否则返回false。交换字母的定义是:取两个下标i和j(下标从0开始)且......