Created
March 14, 2024 23:24
-
-
Save ImShizer/d07fba82799616872c3b6e92248eeb93 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Threading; | |
class Program | |
{ | |
static void Main() | |
{ | |
Console.WriteLine("Введіть верхню межу діапазону для генерації простих чисел (або натисніть Enter для нескінченного діапазону): "); | |
string upperLimitInput = Console.ReadLine(); | |
int upperLimit; | |
if (string.IsNullOrEmpty(upperLimitInput)) | |
upperLimit = int.MaxValue; | |
else | |
upperLimit = int.Parse(upperLimitInput); | |
Thread primeThread = new Thread(() => GeneratePrimeNumbers(upperLimit)); | |
primeThread.Start(); | |
} | |
static void GeneratePrimeNumbers(int upperLimit) | |
{ | |
int number = 2; | |
while (number <= upperLimit) | |
{ | |
if (IsPrime(number)) | |
Console.WriteLine(number); | |
number++; | |
} | |
} | |
static bool IsPrime(int number) | |
{ | |
if (number <= 1) | |
return false; | |
for (int i = 2; i <= Math.Sqrt(number); i++) | |
{ | |
if (number % i == 0) | |
return false; | |
} | |
return true; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Threading; | |
class Program | |
{ | |
static void Main() | |
{ | |
Console.WriteLine("Введіть верхню межу діапазону для генерації чисел Фібоначчі (або натисніть Enter для нескінченного діапазону): "); | |
string upperLimitInput = Console.ReadLine(); | |
int upperLimit; | |
if (string.IsNullOrEmpty(upperLimitInput)) | |
upperLimit = int.MaxValue; | |
else | |
upperLimit = int.Parse(upperLimitInput); | |
Console.WriteLine("Генерація чисел Фібоначчі..."); | |
Thread primeThread = new Thread(() => GeneratePrimeNumbers(upperLimit)); | |
Thread fibonacciThread = new Thread(() => GenerateFibonacciNumbers(upperLimit)); | |
primeThread.Start(); | |
fibonacciThread.Start(); | |
} | |
static void GenerateFibonacciNumbers(int upperLimit) | |
{ | |
int a = 0; | |
int b = 1; | |
while (a <= upperLimit) | |
{ | |
Console.WriteLine(a); | |
int temp = a; | |
a = b; | |
b = temp + b; | |
} | |
} | |
static void GeneratePrimeNumbers(int upperLimit) | |
{ | |
int number = 2; | |
while (number <= upperLimit) | |
{ | |
if (IsPrime(number)) | |
Console.WriteLine(number); | |
number++; | |
} | |
} | |
static bool IsPrime(int number) | |
{ | |
if (number <= 1) | |
return false; | |
for (int i = 2; i <= Math.Sqrt(number); i++) | |
{ | |
if (number % i == 0) | |
return false; | |
} | |
return true; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Threading; | |
class Program | |
{ | |
static void Main() | |
{ | |
Console.WriteLine("Введіть верхню межу діапазону для генерації чисел Фібоначчі (або натисніть Enter для нескінченного діапазону): "); | |
string upperLimitInput = Console.ReadLine(); | |
int upperLimit; | |
if (string.IsNullOrEmpty(upperLimitInput)) | |
upperLimit = int.MaxValue; | |
else | |
upperLimit = int.Parse(upperLimitInput); | |
Console.WriteLine("Виберіть тип генерації:\n1. Прості числа\n2. Числа Фібоначчі"); | |
string choice = Console.ReadLine(); | |
Thread thread = null; | |
switch (choice) | |
{ | |
case "1": | |
thread = new Thread(() => GeneratePrimeNumbers(upperLimit)); | |
break; | |
case "2": | |
thread = new Thread(() => GenerateFibonacciNumbers(upperLimit)); | |
break; | |
default: | |
Console.WriteLine("Невірний вибір."); | |
return; | |
} | |
thread.Start(); | |
Console.WriteLine("Для зупинки потоку натисніть будь-яку клавішу..."); | |
Console.ReadKey(); | |
thread.Abort(); | |
} | |
static void GenerateFibonacciNumbers(int upperLimit) | |
{ | |
int a = 0; | |
int b = 1; | |
while (a <= upperLimit) | |
{ | |
Console.WriteLine(a); | |
int temp = a; | |
a = b; | |
b = temp + b; | |
} | |
} | |
static void GeneratePrimeNumbers(int upperLimit) | |
{ | |
int number = 2; | |
while (number <= upperLimit) | |
{ | |
if (IsPrime(number)) | |
Console.WriteLine(number); | |
number++; | |
} | |
} | |
static bool IsPrime(int number) | |
{ | |
if (number <= 1) | |
return false; | |
for (int i = 2; i <= Math.Sqrt(number); i++) | |
{ | |
if (number % i == 0) | |
return false; | |
} | |
return true; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment