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; }Pascal :
var m,n,i,j,s:longint; begin readln(m,n); for i:=m to n do begin for j:=2 to round(sqrt(i)) do if i mod j = 0 then s:=s+j+i div j; if s+1=i then write(i,' '); s:=0; end; writeln; end.Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); for(int i = a;i <= b;i++) { int sum = 0; for(int k = 1;k < i;k++) { if(i % k == 0) { sum += k; } } if(sum == i) { System.out.print(i + " "); } } } }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
- 131
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 8
- 已通过
- 5
- 上传者