文章目录

  • 一、求自首数
  • 二、求完数
  • 三、求亲密数

本篇主要介绍C语言中求自首数、完数和自然常数e的求解算法

一、求自首数

1、自首数:
自守数是指一个数的平方的尾数等于该数自身的自然数。

自首数是按位数来分的:三位自守数是625和376,四位自守数是0625和9376,五位自守数是90625和09376…

比如:

5和6是一位自守数(5x5=25 6x6=36)
25x25=625 76x76=5776,所以25和76是两位自守数。

2、题:
用C语言算法求解100000内的所有自首数

3、参考代码:

#include <stdio.h>main()
{int i, m, temp;printf("100000内的自首数有以下:");for(i=1; i<=100000; i++){temp = i*(i-1);m = 1;//得到某个数的尾数 while(m<=i)m *= 10;if(temp%m == 0)printf("%d  ",i);}printf("\n");
}

4、参考结果:

二、求完数

1、完数(完全数)

From“科普中国”
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。

2、参考代码:

#include <stdio.h>
#include <math.h> int main()
{int i, j, sum;for(i=2; i<1000; i++) {sum = 0;for(j=1; j<=i/2; j++){if((i%j) == 0){sum += j;}if(sum==i){printf("%d是完数,它的因子有:",i);for(j=1; j<=i/2; j++){if((i%j)==0){printf("%d ",j);}}printf("\n");}}}
}

3、参考结果:

三、求亲密数

1、亲密数:
如果a的所有正因子和等于b,b的所有正因子和等于a, 因子包括1但不包括本身, 且a不等于b,则称a,b为亲密数对。一般通过叠代编程求出相应的亲密数对。

2、题:
用C语言编程求出5000内的亲密数对

3、分析:
(1)通过从1循环到5000,对每一个数进行判断,看其是否有亲密数,如果有则输出这个亲密数;
(2)判断是否有亲密使数的方法:先求出某数i的因子之和sum,再求出sum的因子之和;
(3)如果i的因子之和等于sum的因子之和,且i不等于sum,则sum就是i的亲密数

4、参考代码:

#include <stdio.h>int main()
{int i, j, sum1, sum2, n;  //sum1是i的亲密数,sum2是sum1的亲密数    printf("您需要计算多少内的亲密数:");scanf("%d",&n);printf("%d内的亲密数有:",n);//核心算法 for(i=1;i<=n;i++){sum1 = 0;  //每循环一轮都将求和变量置为0 sum2 = 0;//求i的因子之和sum1 for(j=1;j<i;j++){if(i%j==0)  //取余等于0则为一个因子 {sum1 += j;}}//求sum1的因子之和sum2for(j=1;j<sum1;j++){if(sum1%j==0){sum2 += j;}} //判断i的因子和是否等于sum1的因子和if((sum2==i) && (i!=sum1) && (i<sum1)) //表示i的因子和等于sum1,而sum1的因子和等于i,则为亲密后 //后两个判断是为了增强程序的容错性,表示这对亲密数不能是相等的数,且前者小于后者 {printf("\t%d与%d",i,sum1);  //输出这对亲密数 } }
}

5、参考结果:

(篇六)C语言求自首数、完数、亲密数相关推荐

  1. 求3000以内的全部亲密数。

    15. 两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B:且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数.求3000以内的全部亲密数. 如 ...

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

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

  3. C语言试题六十八之请编写函数实现亲密数

    1. 题目 编写函数:求一个整数范围数字以内的全部亲密数. 亲密数:如果整数A的全部因子(包括1,不包括A本身)之和等于B:且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密 ...

  4. python求同构数_用c语言求1到1000的同构数_后端开发

    python与平台有关吗_后端开发 Python与平台无关,因为Python是跨平台的语言,Python作为脚本语言,是解释执行的,所以能跨平台,前提是必须要有一个对应的解释器. 具体请看实例: py ...

  5. 信息学奥赛C++语言:趣味整数2(亲密数)

    [题目描述] 假设两个正整数A 和 B是亲密数,那么有如下的性质: 整数A的全部真约数(包括1,不包括A本身)之和等于B: 整数B的全部真约数(包括1,不包括B本身)之和等于A. 比如:220 和 2 ...

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

    输入 无 输出 3000以内的全部亲密数(输出格式:(A,B),不加换行,不加分隔符号) 一对亲密数只输出一次, 小的在前 样例输入复制 无 样例输出复制 (220,284)(1184,1210)(2 ...

  7. C语言求毕达哥拉斯亲密数

    亲密数 2500年前数学大师毕达哥拉斯就发现,220与284两数之间存在着奇妙的联系: 220的真因数之和为:1+2+4+5+10+11+20+22+44+55+110=284 284的真因数之和为: ...

  8. 【勇敢牛牛,不怕困难】有手就行栏目:头歌教学平台 - 湖南工业大学刘强老师的C语言函数实战课堂作业答案 - > - > {求和+回文数计算+编写函数求表达式的值+阶乘数列+亲密数+公约数公倍数求解}

    第一关:求和 任务描述 题目描述:给你一个n,要求你编写一个函数求1+2+-+n. 输入 输入一个n 输出 输出1+2+-+n的和 测试说明 样例输入: 100 样例输出: 5050 分析: 这个是真 ...

  9. java求亲密数,怎么写更好更快?

    求亲密数,应该是不少编程初学者都会遇到的一个题目.所谓亲密数就是,两个正整数A和B,A的所有因子之和(不包括A本身)等于B,B的所有因子之和(不包括B本身)等于A,满足这个条件的话A和B就是亲密数了. ...

最新文章

  1. Java学习之if---elif语句
  2. 为什么说能源管理是分布式光伏发电的突破口?
  3. linux 挂载有数据硬盘分区,linux下磁盘分区、挂载知多少
  4. 【转】医学影像处理相关知识整理(一)
  5. linux fcntl注销信号,linux下fcntl的使用(转载)
  6. 《ArcGIS Runtime SDK for Android开发笔记》——(9)、空间数据的容器-地图MapView
  7. latex模板——计算机学报
  8. android运行xwalkview闪退,解决Android中集成XWalkView的奇怪闪退
  9. 关于 AI 的数百个问题,清华男神刘云浩教授的 3 万字回复给整得明明白白|附抽奖送书...
  10. SCDM学习笔记(2)
  11. 雅虎邮箱 找回密码_如何恢复被遗忘的Yahoo! 密码
  12. VUE博客模板----FXBLOG
  13. vue-cli 3 跑项目时卡在 ‘98%’ after emitting CopyPlugin 无法运行
  14. 现在个人博客网站还能够备案吗?是否需要企业身份才能备案?
  15. 十三届蓝桥青少组省赛Python-20220423
  16. JS中判断NaN的方法
  17. mysql返回数据只要年月日_MySQL支持按年月日查询
  18. 创新发明与专利实务的尔雅答案
  19. 龟兔赛跑(Java)
  20. 用DW制作简单的浮动广告

热门文章

  1. linux c++开发_Linux/Windows下进行C/C++开发的差异
  2. java二叉树深度优先遍历会考不递归的吗_树的广度优先遍历和深度优先遍历(递归非递归、Java实现)...
  3. mysql utf8mb4 bin_MySQL中utf8字符集、排序规则及utf8mb4_bin列大小写不敏感方法
  4. c语言求满足不等式的最小值,高手请进,请教一道简单的c语言题!
  5. slot多作用域 vue_vue插槽(slot)详解
  6. 云丰计算机,于云丰-中国科学院大学-UCAS
  7. let的解构赋值_解构赋值还有这么多玩法?
  8. java 手动加载数据库驱动_JAVA加载数据库驱动(JDBC)
  9. matlab画坐标系,Matlab绘制图形坐标轴操作汇总 | 望天博客
  10. linux中用户 机器名,Python 在linux下获得当前工作目录,主机名,用户名,操作系统平台等信息...