написать программу на си для решения следующей задачи. Заданы два
числа — А и B, первое в системе счисления с основанием p=6, второе в
системе счисления с основанием q=5. Вычислить значение С по указанной
формуле (2·A−3·B)2 и вывести его на экран в десятичной системе счисления и системе счисления с основанием r=3. При написании программы использовать функции. Полученные результаты проверить вручную.
// Function to convert a number from base p to decimal
long long basePToDecimal(long long n, int p) {
long long decimal = 0;
long long power = 1;
while (n > 0) {
decimal += (n % 10) * power;
power *= p;
n /= 10;
}
return decimal;
}
// Function to convert a decimal number to base r
void decimalToBaseR(long long n, int r) {
if (n == 0) {
printf("0"
return;
}
char baseR[100];
int i = 0;
while (n > 0) {
baseR[i++] = (n % r) + '0';
n /= r;
}
for (int j = i - 1; j >= 0; j--) {
printf("%c", baseR[j]);
}
}
int main() {
long long A_base6, B_base5;
int p = 6, q = 5, r = 3;
// Input A and B
printf("Enter A (base 6): "
scanf("%lld", &A_base6);
printf("Enter B (base 5): "
scanf("%lld", &B_base5);
// Convert A and B to decimal
long long A_decimal = basePToDecimal(A_base6, p);
long long B_decimal = basePToDecimal(B_base5, q);
// Calculate C
long long C_decimal = (2 * A_decimal - 3 * B_decimal);
C_decimal = C_decimal * C_decimal;
// Output C in decimal
printf("C (decimal): %lld\n", C_decimal);
// Output C in base r
printf("C (base %d): ", r);
decimalToBaseR(C_decimal, r);
printf("\n"
using System;
using System.IO; // Для работы с файлами
class Program
{
static void Main(string[] args)
{
// Считываем слова из файла
string[] words = File.ReadAllLines("words.txt"
// Проверяем, есть ли слова в файле
if (words.Length == 0)
{
Console.WriteLine("Файл со словами пуст."
return;
}
// Генерируем случайное слово
Random random = new Random();
string secretWord = words[random.Next(words.Length)].ToLower(); // Выбираем случайное слово
int maxAttempts = 6; // Максимальное количество попыток
Console.WriteLine("Добро пожаловать в игру Wordle!"
// Логика игры остается той же
for (int attempt = 1; attempt <= maxAttempts; attempt++)
{
Console.Write($"Попытка {attempt}/{maxAttempts}. Введите слово из 5 букв: "
string userInput = Console.ReadLine()?.ToLower();
if (userInput == null || userInput.Length != 5)
{
Console.WriteLine("Слово должно быть из 5 букв."
attempt--;
continue;
}
for (int i = 0; i < 5; i++)
{
if (userInput == secretWord)
Console.Write("[+]"
else if (secretWord.Contains(userInput))
Console.Write("[~]"
else
Console.Write("[-]"
}
Console.WriteLine();
if (userInput == secretWord)
{
Console.WriteLine("Поздравляем! Вы угадали слово!"
break;
}
if (attempt == maxAttempts)
{
Console.WriteLine($"Вы проиграли! Загаданное слово: {secretWord}"
}
}
}
}