Advertisement
Guest User

Untitled

a guest
Feb 21st, 2012
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.28 KB | None | 0 0
  1. using System;
  2.  
  3. namespace quizlunedi
  4. {
  5.     class MainClass
  6.     {
  7.         static bool SumExistsUtil(int[] data, int sum, int major_index, int minor_index, bool left)
  8.         {
  9.            
  10.             while (major_index != minor_index) {
  11.                
  12.                 Console.WriteLine("Confronted values/indexes: "
  13.                                   + major_index + "/" + data[major_index]
  14.                                   + " "
  15.                                   + minor_index + "/" + data[minor_index]);
  16.                
  17.                 int curr_sum = data[major_index] + data[minor_index];
  18.                
  19.                 if (curr_sum == sum)
  20.                     return true;
  21.                 else if (left && curr_sum < sum)
  22.                     break;
  23.                 else if (!left && curr_sum > sum)
  24.                     break;
  25.                
  26.                 if (left)
  27.                     minor_index--;
  28.                 else
  29.                     minor_index++;
  30.             }
  31.            
  32.             if (major_index != minor_index)
  33.                 return SumExistsUtil(data, sum, minor_index,
  34.                                      left ? major_index + 1 : major_index - 1, !left);
  35.             else
  36.                 return false;
  37.         }
  38.        
  39.         static bool SumExists(int[] data, int sum, int data_len)
  40.         {
  41.             return SumExistsUtil(data, sum, 0, data_len-1, true);
  42.         }
  43.        
  44.         public static void Main (string[] args)
  45.         {
  46.             int[] data = { -20, -19, -1, 0, 1, 4, 7, 8, 9, 10 };
  47.            
  48.             if (SumExists(data, 80, 10))
  49.                 Console.WriteLine ("Sum exists!");
  50.             else
  51.                 Console.WriteLine ("Sum don't exists!");
  52.         }
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement