1 条题解
-
0
C++ :
#include<iostream> #include<cmath> using namespace std; int main() { int n,sum,t; cin>>n; for (int i=1; i<=n; i++) { sum=1,t=sqrt(i); for (int j=2; j<=t; j++) if (i%j==0) sum+=j+i/j; if (t*t==i) sum-=t; if (i==sum) cout<<i<<endl; } return 0; }Java :
import java.util.*; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); int n = cin.nextInt(); for(int i = 2; i <= n; i ++){ if(isPerfect(i)){ System.out.println(i); } } } public static boolean isPerfect(int n){ int sum = 1; for(int i = 2; i <= (int)Math.sqrt(n); i ++){ if(n % i == 0){ sum += i; sum += n/i; } } if(sum == n){ return true; }else{ return false; } } }
- 1
信息
- ID
- 3543
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者