hlt0310 • 1年前
0到10^5之间的完全数只有6,28,496,8128,根据这个特点写代码即可通过。
#include<bits/stdc++.h>
using namespace std;
/*
时间限制 : 1 秒
内存限制 : 128 MB
如果一个数字等于它的真因子之和,则称为完全数。例如6的真因子是1,2,3,且6=1+2+3,所以6是完全数;28也是完全数,因为28=1+2+4+7+14。求闭区间[n,m]中完全数的个数。
数据范围:0<n<=m<=10^5
输入
一行两个正整数,分别表示n和m
输出
一行一个整数
样例
输入复制
1 30
输出复制
2
*/
int n,m,ans=0;
int main()
{
scanf("%d %d",&n,&m);
for(int i=n;i<=m;++i)
if(i==6||i==28||i==496||i==8128) ++ans;
printf("%d",ans);
return 0;
}
评论:
请先登录,才能进行评论