Advertisement
ntamas

Telekom feltöltés

Sep 29th, 2019
330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.51 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication1
  7. {
  8.   class Program
  9.   {
  10.     static void Main(string[] args)
  11.     {
  12.       int[] prices = { 533, 1000, 1060, 1640, 3550, 3559};
  13.       for (int i = 1; i <= prices.Length; i++)
  14.       {
  15.         PrintValidCombinations(prices, i);
  16.       }
  17.       Console.ReadKey();
  18.     }
  19.     private static void PrintValidCombinations(int[] array, int rank)
  20.     {
  21.       PrintValidCombinations(new int[rank + 1], array, 0, rank, 0, array.Length - 1);
  22.     }
  23.  
  24.     private static void PrintValidCombinations(int[] current, int[] array, int index, int rank, int start, int end)
  25.     {
  26.       if (index == rank)
  27.       {
  28.         int sum = 0;
  29.         int[] prices = new int[current.Length - 1];
  30.         for (int i = 0; i < rank; i++)
  31.         {
  32.           sum += array[current[i]];
  33.           prices[i] = array[current[i]];
  34.         }
  35.  
  36.         if (IsValid(sum))
  37.         {
  38.           for (int i = 0; i < prices.Length - 1; i++)
  39.           {
  40.             Console.Write("{0} + ", prices[i]);
  41.           }
  42.           Console.WriteLine("{0} = {1}", prices[prices.Length - 1], sum);
  43.         }
  44.       }
  45.       else
  46.       {
  47.         for (int i = start; i <= end; i++)
  48.         {
  49.           current[index] = i;
  50.           PrintValidCombinations(current, array, index + 1, rank, i, end);
  51.         }
  52.       }
  53.     }
  54.  
  55.     private static bool IsValid(int sum)
  56.     {
  57.       return sum % 100 == 0 && 1500 <= sum && sum < 15000;
  58.     }
  59.   }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement