Advertisement
desislava_topuzakova

08. List Of Predicates

Jun 3rd, 2022
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace _8._List_of_Predicates
  6. {
  7. internal class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. int n = int.Parse(Console.ReadLine());
  12. List<int> dividers = Console.ReadLine().Split().Select(int.Parse).ToList();
  13.  
  14.  
  15. List<int> numbers = new List<int>(); //всички числа от 1 до n
  16. for (int number = 1; number <= n; number++)
  17. {
  18. numbers.Add(number);
  19. }
  20.  
  21. List<int> printNumbers = new List<int>(); //числата, които се делят на всички делители
  22.  
  23. foreach (int number in numbers)
  24. {
  25. bool isDivisible = true;
  26. //true -> ако числото се дели на всички делители
  27. //false -> ако числото не се дели на всички делители
  28.  
  29. //ако се дели на всички числа без остатък от dividers
  30. foreach(int divider in dividers)
  31. {
  32. //приема число -> дали числото се дели на divider
  33. Predicate<int> divisible = number => number % divider == 0;
  34. //true -> числото се дели на текущия делител
  35. //false -> числото не се дели на текущия делител
  36. if (!divisible(number)) //number % divider == 0
  37. {
  38. isDivisible = false;
  39. break;
  40. }
  41. }
  42.  
  43. if (isDivisible)
  44. {
  45. printNumbers.Add(number);
  46.  
  47. }
  48. }
  49.  
  50. Console.WriteLine(string.Join(" ", printNumbers));
  51. }
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement