Professional Documents
Culture Documents
АСДП КН1022В ПЗ2 Гасюк
АСДП КН1022В ПЗ2 Гасюк
ЗВІТ
РЕКУРСИВНІ ТА ІТЕРАЦІЙНІ
АЛГОРИТМИ
Харків-2023
2
програм.
Варіант №6
Код програми
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ASDP
{
class Program
{
// Функція для перетворення числа N в систему числення B (рекурсивний
метод)
static string RecursiveConvertToBase(int N, int B)
{
Console.WriteLine($"Початкове число: {N}");
Console.WriteLine($"База системи числення: {B}");
Console.WriteLine();
return result;
}
int remainder = N % B;
Console.WriteLine($"Крок: {N} / {B} = {N / B}, Остача: {remainder}");
{
Console.WriteLine($"Початкове число: {N}");
Console.WriteLine($"База системи числення: {B}");
Console.WriteLine();
while (N > 0)
{
int remainder = N % B;
Console.WriteLine($"Крок: {N} / {B} = {N / B}, Остача:
{remainder}");
result = result.TrimStart('0');
if (result == "")
{
result = "0";
}
return result;
}
// Рекурсивний метод
Console.WriteLine("\nРекурсивний метод:");
Stopwatch recursiveStopwatch = new Stopwatch();
recursiveStopwatch.Start();
string recursiveResult = RecursiveConvertToBase(N, B);
recursiveStopwatch.Stop();
TimeSpan recursiveElapsedTime = recursiveStopwatch.Elapsed;
Console.WriteLine($"Результат в системі числення {B}:
{recursiveResult}");
Console.WriteLine($"Час виконання рекурсивного алгоритму:
{recursiveElapsedTime.TotalMilliseconds} мс");
// Ітеративний метод
Console.WriteLine("\nІтераційний метод:");
Stopwatch iterativeStopwatch = new Stopwatch();
iterativeStopwatch.Start();
string iterativeResult = IterativeConvertToBase(N, B);
iterativeStopwatch.Stop();
TimeSpan iterativeElapsedTime = iterativeStopwatch.Elapsed;
Console.WriteLine($"Результат в системі числення {B}:
{iterativeResult}");
Console.WriteLine($"Час виконання ітераційного алгоритму:
{iterativeElapsedTime.TotalMilliseconds} мс");
}
4
}
}