1 条题解
-
0
C :
#include<stdio.h> void wanmeishu(int n){ int i,c=1; for(i = 2;i <= n / 2;i++){ if(n % i == 0){ c += i; } } if(c == n){ printf("%d ",n); } } int main(){ int m,n,i; scanf("%d %d",&m,&n); for(i = m;i <= n;i++){ wanmeishu(i); } return 0; }
C++ :
#include<iostream> #include<cmath> using namespace std; bool WanMeiShu(int n); int main(){ int a,b; cin>>a>>b; for(int i=a;i<=b;i++){ if(WanMeiShu(i)){ cout<<i<<" "; } } } bool WanMeiShu(int n){ int s; int j; s=1; for(int i=2;i<=sqrt(n);i++){ if(n%i==0){ s=s+i; j=n/i; if(i!=j){ s=s+j; } } } if(s==n) return true; else return false; }
Python :
import math; def wanmeishu(n): s = 0; for i in range(1,n): if n % i == 0: s += i; return s == n; a,b = map(int,input().split()); for i in range(a,b+1): if wanmeishu(i) == True: print(i);
- 1
信息
- ID
- 2061
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者