Advertisement
myloyo

5.2.2

Sep 22nd, 2023 (edited)
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.17 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.Specialized;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace myloyorrr
  9. {
  10.     internal class Program
  11.     {
  12.         static int divs(int n, int s = 1, int c = 0)
  13.         {
  14.             if (s <= n)
  15.             {
  16.                 if (n%s == 0)
  17.                 {
  18.                     return divs(n, s+1, c+1);
  19.                 }
  20.                 else
  21.                 {
  22.                     return divs(n, s + 1, c);
  23.                 }
  24.             }
  25.             return c;
  26.            
  27.         }
  28.         static void Main()
  29.         {
  30.             Console.WriteLine("а)");
  31.             Console.Write("Введите число а: ");
  32.             int a = int.Parse(Console.ReadLine());
  33.             Console.Write("Введите число b: ");
  34.             int b = int.Parse(Console.ReadLine());
  35.             int maxim = 0;
  36.             for (int i = a; i <= b; i++)
  37.             {
  38.                 Console.WriteLine("количество делителей для {0} = {1}", i, divs(i));
  39.                 maxim = Math.Max(maxim, divs(i));
  40.             }
  41.  
  42.             Console.WriteLine("b)");
  43.             Console.Write("введите число делителей: ");
  44.             int c = int.Parse(Console.ReadLine());
  45.             for (int i = a; i < b; i++)
  46.             {
  47.                 if (divs(i) == c)
  48.                 {
  49.                     Console.WriteLine(i);
  50.                 }
  51.             }
  52.  
  53.             Console.WriteLine("c)");
  54.             for (int i = a; i < b; i++)
  55.             {
  56.                 if (divs(i) == maxim)
  57.                 {
  58.                     Console.WriteLine(i);
  59.                 }
  60.             }
  61.  
  62.             Console.WriteLine("d)");
  63.             Console.Write("задайте число: ");
  64.             int num = int.Parse(Console.ReadLine());
  65.             int k = divs(num);
  66.             int nexnum = num + 1;
  67.             while(divs(nexnum) != k)
  68.             {
  69.                 nexnum += 1;
  70.             }
  71.             Console.WriteLine("ближайшее число по количеству делителей: {0}", nexnum);
  72.         }
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement