Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- public class problem23{
- public static void Main(){
- int size = 28123;
- int[] array = new int[size];
- for(int i = 0; i<size; i++){
- array[i] = 1;
- }
- /*
- int sum = 0;
- for(int i = 0; i<size; i++){
- if(isAbundant(i)){
- Console.WriteLine(i);
- sum++;
- }
- }
- Console.WriteLine(sum);
- */
- for(int i= size-1 ; i>0 ; i--) {
- for(int j = 12 ; j<i ; j++ ){
- int temp = i - j;
- if(isAbundant(j) && isAbundant(temp)){
- array[i] = 0;
- Console.WriteLine(j +"\t"+ temp+"\t"+ i);
- break;
- }
- }
- }
- int total = 0;
- for(int i= size-1 ; i>0 ; i--){
- if(array[i] == 1){
- total += i;
- }
- }
- Console.WriteLine(total);
- }
- private static bool isAbundant(int n){
- return allFactors(n) > n;
- }
- private static int allFactors(int n){
- int total = 0;
- double limit = Math.Sqrt(n);
- for(int i=1;i<limit;i++){
- if(n%i==0){
- total += (i+n/i);
- }
- }
- return total-n;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement