Advertisement
Sovun

Untitled

Dec 2nd, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.04 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApp1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int k1 = 0, k2 = 0; //оно дальше присвоится, можно тут просто объявить да и всё. Приходится лишний раз писать из-за цикла с предусловием
  14.             bool ok = false;
  15.             while (!ok) //вообще почему-то принято такие вещи делать с циклом с постусловием, но это тоже вроде ок
  16.             {
  17.                 Console.Write("Введите число k1: ");
  18.                 ok = int.TryParse(Console.ReadLine(), out k1);
  19.                 if (!ok || k1 == 0) //тут добавил проверку, что k1 !=0, тебе же на него делить
  20.                 {
  21.                     ok = false; //все-таки фолс, на случай если мы сюда попали по k1==0
  22.                     Console.WriteLine("Ошибка. Повторный ввод");
  23.                 }
  24.                    
  25.             }
  26.             ok = false;
  27.             while (!ok) //аналогично
  28.             {
  29.                 Console.Write("Введите число k2: ");
  30.                 ok = int.TryParse(Console.ReadLine(), out k2);
  31.                 if (!ok || k2 == 0) //тут добавил проверку, что k2 !=0, тебе же на него делить
  32.                 {
  33.                     ok = false; //все-таки фолс, на случай если мы сюда попали по k1==0
  34.                     Console.WriteLine("Ошибка. Повторный ввод");
  35.                 }
  36.             }
  37.             ok = false;
  38.             int count = 0;
  39.             int n = 0;
  40.             do //цикл с постуслолвием тут логичнее, а тот неэффективный + усложняет читаемость проги
  41.             {
  42.                 do //а тут кто будет проверять, что тебе не говнище вводят?
  43.                 {
  44.                     Console.Write("Введите число: ");
  45.                     ok = int.TryParse(Console.ReadLine(), out n);
  46.                     if (!ok)
  47.                         Console.WriteLine("Ошибка. Повторный ввод");
  48.                 } while (!ok);
  49.  
  50.  
  51.                 if (n % k1 == 0 && n % k2 != 0 && n != 0) //добавил проверку что n != 0 (ноль означет конец ввода
  52.                 {
  53.                     count++;
  54.                     Console.WriteLine($"Это число подходит! Текущее кол-во: {count}");
  55.                 }
  56.             } while (n != 0); //если н = 0 то валим отсюдава
  57.            
  58.             Console.WriteLine($"Кол-во: {count}");
  59.             Console.ReadKey();
  60.         }
  61.  
  62.     }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement