Advertisement
Guest User

Untitled

a guest
Oct 8th, 2015
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.14 KB | None | 0 0
  1.  
  2. using System;
  3.  
  4. public class problem23{
  5.   public static void Main(){
  6.       int size = 28123;
  7.       int[] array = new int[size];
  8.  
  9.       for(int i = 0; i<size-1; i++){
  10.         array[i] = 1;
  11.       }
  12. /*
  13.       int sum = 0;
  14.       for(int i = 0; i<size; i++){
  15.         if(isAbundant(i)){
  16.           Console.WriteLine(i);
  17.           sum++;
  18.  
  19.         }
  20.       }
  21.       Console.WriteLine(sum);
  22. */
  23.       for(int i= size-1 ; i>0 ; i--) {
  24.         for(int j = 12 ; j<i ; j++ ){
  25.           int temp = i - j;
  26.           if(isAbundant(j) && isAbundant(temp)){
  27.             array[i] = 0;
  28.             Console.WriteLine(j +"\t"+ temp+"\t"+ i);
  29.             break;
  30.           }
  31.         }
  32.       }
  33.       int total = 0;
  34.       for(int i= size-1 ; i>0 ; i--){
  35.         if(array[i] == 1){
  36.           total += i;
  37.         }
  38.       }
  39.       Console.WriteLine(total);
  40.   }
  41.  
  42.   private static bool isAbundant(int n){
  43.     return allFactors(n) > n;
  44.   }
  45.  
  46.   private static int allFactors(int n){
  47.     int total = 0;
  48.     double limit = Math.Sqrt(n);
  49.     for(int i=1;i<limit;i++){
  50.       if(n%i==0){
  51.         total += (i+n/i);
  52.       }
  53.     }
  54.     return total-n;
  55.   }
  56.  
  57.  
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement