Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp1
- {
- class Program
- {
- static void Main(string[] args)
- {
- int k1 = 0, k2 = 0; //оно дальше присвоится, можно тут просто объявить да и всё. Приходится лишний раз писать из-за цикла с предусловием
- bool ok = false;
- while (!ok) //вообще почему-то принято такие вещи делать с циклом с постусловием, но это тоже вроде ок
- {
- Console.Write("Введите число k1: ");
- ok = int.TryParse(Console.ReadLine(), out k1);
- if (!ok || k1 == 0) //тут добавил проверку, что k1 !=0, тебе же на него делить
- {
- ok = false; //все-таки фолс, на случай если мы сюда попали по k1==0
- Console.WriteLine("Ошибка. Повторный ввод");
- }
- }
- ok = false;
- while (!ok) //аналогично
- {
- Console.Write("Введите число k2: ");
- ok = int.TryParse(Console.ReadLine(), out k2);
- if (!ok || k2 == 0) //тут добавил проверку, что k2 !=0, тебе же на него делить
- {
- ok = false; //все-таки фолс, на случай если мы сюда попали по k1==0
- Console.WriteLine("Ошибка. Повторный ввод");
- }
- }
- ok = false;
- int count = 0;
- int n = 0;
- do //цикл с постуслолвием тут логичнее, а тот неэффективный + усложняет читаемость проги
- {
- do //а тут кто будет проверять, что тебе не говнище вводят?
- {
- Console.Write("Введите число: ");
- ok = int.TryParse(Console.ReadLine(), out n);
- if (!ok)
- Console.WriteLine("Ошибка. Повторный ввод");
- } while (!ok);
- if (n % k1 == 0 && n % k2 != 0 && n != 0) //добавил проверку что n != 0 (ноль означет конец ввода
- {
- count++;
- Console.WriteLine($"Это число подходит! Текущее кол-во: {count}");
- }
- } while (n != 0); //если н = 0 то валим отсюдава
- Console.WriteLine($"Кол-во: {count}");
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement