首页 > 其他分享 >22.

22.

时间:2023-05-15 23:36:29浏览次数:42  
标签:22 sum 循环 完数 printf 该数

1.问题:求一个数的完全数:
 完数解释:如果一个数等于它的因子之和,则称该数为完数。
6 = 1+2+3

2.问题分析

解题思路:从键盘输入一个数 求1到该数之间的数 是否是完全数
用该用for循环去判断 再用一个内层循环判断 1-该数 之间的数 求出它的因子(也就是可以被他整除)
用s保留循环的值。然后在用==去判断该数是否相等
这块要注意一点的是每次外层for循环的是否必须初始化s=0

3.代码实现

#include<stdio.h>
void main(){

int i,j,m,sum = 0;
printf("请输入一个整数 求该完数:\n");
scanf("%d",&m);
for(i=1;i<m;i++)
{
sum = 0; //保证每次循环是s=0
for(j=1;j<i;j++)
{
if(i%j==0) //判断j是否是i的除数
sum+=j;
}
if(sum==j) //如果两者相等 就是完数 否则不是完数
printf("是完全数%d \t",sum);
}
}

标签:22,sum,循环,完数,printf,该数
From: https://www.cnblogs.com/cqdycazs/p/17403447.html

相关文章

  • AtCoder Beginner Contest 223 G Vertex Deletion
    洛谷传送门AtCoder传送门设\(f_{u,0/1}\)为\(u\)的子树,\(u\)是否在匹配内的最大匹配数。注意到对于一个匹配,在它深度较浅的点上才会被计入答案。转移大概是\(f_{u,0}\)取\(\sum\limits_{v\inson_u}\max(f_{v,0},f_{v,1})\),\(f_{u,1}\)要从儿子中选一个\(f_{v,0......
  • LeetCode 226. 翻转二叉树
    题目链接:LeetCode226.翻转二叉树题意:给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。解题思路:对于每一个节点,只需要考虑反转当前节点的左右子树即可,因此只需要考虑遍历顺序,本题中,采用前序和后序遍历都是可以的,但是中序遍历不行,如果采用中序,会将某些节点反转两......
  • ubuntu22.04 ssh连接失败 userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedA
    userauth_pubkey:keytypessh-rsanotinPubkeyAcceptedAlgorithms[preauth]sshd[14785]:error:Receiveddisconnectfromxxxxport45190:3:com.jcraft.jsch.JSchException:Authfail[preauth]OpenSSH从8.7以后版本开始默认不支持ssh-rsa签名的方式,需要手动设置解决......
  • 北方苍鹰优化算法NGO2022年算法优化广义神经网络GRNN做多特征输入,单个因变量输出的拟
    北方苍鹰优化算法NGO2022年算法优化广义神经网络GRNN做多特征输入,单个因变量输出的拟合预测模型。程序内注释详细直接替换数据就可以用。程序语言为matlab。不会替换数据的可以免费指导替换数据。。ID:8335680120139792......
  • 基于maxwell的4极6槽 内转子 15000rpm 输出转矩 220mNm 效率89% 120W 外径 48mm 内径2
    基于maxwell的4极6槽内转子15000rpm输出转矩220mNm效率89%120W外径48mm内径27轴向长度40mm直流母线36V永磁同步电机(永磁直流无刷)模型,该方案已开磨具,可大量生产(PMSM或者是BLDC)。ID:2125626970265887......
  • Windows 11、Windows 10使用VS2022安装 .NET 4.0、.NET 4.5等低版本环境
    由于新版windows10、windows11自带.NETFramework4.8,而一些旧的代码,又需要.NET4.0、.NET4.5等低版本的运行环境。最新携带运行环境版本如下:.NETFramework系统要求-.NETFramework|MicrosoftLearn安装低版本运行环境方法:无需安装VS2019,在VisualStudio2022中编......
  • 22.3 杂题
    WC2021斐波那契这种分析的方法太经典了。设\(f_0=0,f_1=,f_{n}=f_{n-2}+f_{n-1}\),\(f_n\)就是常见的斐波那契数列,易得\(F_n=af_{n-1}+bf_{n}\)。于是我们只需找出最小的\(n\)使得\(a'f_{n-1}\equivb'f_{n}\pmodm\),如果\(m\)是质数我们可以直接预处理(这里用到结论\(......
  • APIO2018~2022做题记录
    APIO2018~2022做题记录1.[APIO2021]封闭道路题意:一棵大小为\(n\)的树,有边权,设\(f(x)\)表示要满足所有点的\(deg\leqslantx\)所要删掉的边的边权和的最小值,求出\(f(0)\)到\(f(n)\)思路:先考虑对于每个\(x\)计算答案。设\(dp[i][0/1]\)表示\(i\)向上连的边删或不删时的最小代价......
  • SP422 TRANSP2 - Transposing is Even More Fun
    题面传送门我的群论好拉/kk首先如果直接对着矩阵转置做显然不太能做,再加上它给出的是二的幂次,所以我们可以考虑从二进制下手。写成二进制以后它的变化方式就明朗的多:将一个长度为\(a+b\)的二进制数循环位移\(a\)位。众所周知这种交换题最小次数是\(n-\)环的个数,因此我们......
  • Ubuntu 22.04 停止显示 Daemons using outdated libraries
    这是Ubuntu22.04的新特性,现在是apt-get安装过程的一个步骤,是由needrestart命令触发,默认情况是交互性质的,也就是会中断在这里需要手动要处理提示。解决的方法是修改/etc/needrestart/needrestart.conf文件,将#$nrconf{restart}='i';这行去掉注释,按照需要改成以下两......