完美数

博客介绍了完美数,即特殊自然数,其所有真因子和等于本身。给出计算公式(2 ^ (n - 1)) * (2 ^ n - 1),其中2 ^ n - 1为梅森素数,n为素数,还提及要计算前5个完美数并给出了相关代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算前5个完美数
完美数:完全数(Perfect number,又称完美数或完备数)是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。

公式为:(2 ^ (n-1)) * (2 ^ n-1)
2 ^ n - 1 是个素数(梅森素数) 注意:n为素数 (11不算 2 ^ 11 - 1 =23*89 不是素数,所以素数11不能构成完全数)

代码:

#include<iostream>
using namespace std;
typedef long long ll;
int main()
{
	 ll n=5;
	 ll a[10]={2,3,5,7,13};  //素数11不能构成完全数 
	 for(int i=0;i<n;i++)
	 {
	 	 //(2^(n-1))*(2^n-1) 
		 cout<<((1<<(a[i]-1))*((1<<a[i])-1))<<endl;
	 }
	 return 0;
}

运行代码:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aaHua_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值