Skip to content

Instantly share code, notes, and snippets.

@ImShizer
Created March 14, 2024 23:24
Show Gist options
  • Save ImShizer/d07fba82799616872c3b6e92248eeb93 to your computer and use it in GitHub Desktop.
Save ImShizer/d07fba82799616872c3b6e92248eeb93 to your computer and use it in GitHub Desktop.
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;
}
}
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;
}
}
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