Advertisement
Sephinroth

prac 5 ex 2

Oct 7th, 2019
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.14 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace prac_5_ex_2
  7. {
  8.     class Program
  9.     {
  10.         static int SumOfDividers(int a)
  11.         {
  12.             int s = 0;
  13.             for (int i = 1; i <= Math.Sqrt(a); ++i)
  14.                 if (a % i == 0)
  15.                 {
  16.                     if (a / i != i) s += i + a / i;
  17.                     else s += i;
  18.                 }
  19.             return s;
  20.         }
  21.         static bool IsPrime(int a)
  22.         {
  23.             int cnt = 0;
  24.             for (int i = 1; i <= Math.Sqrt(a); ++i)
  25.             {
  26.                 if (a % i == 0) cnt++;
  27.             }
  28.             if (cnt == 1) return true;
  29.             else return false;
  30.         }
  31.         static void Main(string[] args)
  32.         {
  33.           //example
  34.            /* Console.Write("Введите n: ");
  35.             int n = int.Parse(Console.ReadLine());*/
  36.           //a)
  37.             /*Console.Write("a)\n\ta = ");
  38.             int aa = int.Parse(Console.ReadLine());
  39.             Console.Write("\tb = ");
  40.             int ba = int.Parse(Console.ReadLine());
  41.             for (int i = aa; i <= ba; i++)
  42.                 Console.WriteLine("\t{0} — {1}", i, SumOfDividers(i));*/
  43.            
  44.           //b)
  45.             /*Console.Write("a)\n\ta = ");
  46.             int ab = int.Parse(Console.ReadLine());
  47.             Console.Write("\tb = ");
  48.             int bb = int.Parse(Console.ReadLine());
  49.             Console.Write("\tn = ");
  50.             int n = int.Parse(Console.ReadLine());
  51.             for (int i = ab; i <= bb; i++)
  52.                 if (SumOfDividers(i) == n) Console.WriteLine("\t{0}", i);*/
  53.  
  54.             //c)
  55.             Console.Write("a)\n\ta = ");
  56.             int ac = int.Parse(Console.ReadLine());
  57.             Console.Write("\tb = ");
  58.             int bc = int.Parse(Console.ReadLine());
  59.             int max = 0;
  60.             for (int i = bc; i > ac; i--)
  61.                 if (!IsPrime(bc)) max = SumOfDividers(ac);
  62.             for (int i = ac+1; i <= bc; i++)
  63.                 if (SumOfDividers(i) == max) Console.WriteLine("\t{0}", i);
  64.  
  65.             Console.ReadKey();
  66.         }
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement