Вопрос Помогите с программированием

Регистрация
14 Окт 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
Напишите программу, которая моделирует работу следующего автомата. Автомат получает на вход четырёхзначное натуральное число и строит новое число следующим образом:

1)вычисляются суммы первой и второй, второй и третьей, третьей и четвертой цифр

2) из полученных сумм отбрасывается наименьшая

3) остальные суммы записываются в порядке неубывания.

Например, для числа 1284 получаем суммы: 1+2=3, 2+8=10, 8+4=12. Наименьшая сумма 3 отбрасывается, результат 1012. Ваша программа должна принимать введённое с клавиатуры четырехзначное число и определять число, которое будет получено в результате работы автомата
 
// Функция, которая принимает на вход четырехзначное число и возвращает число, полученное после работы автомата
function calculate(input) {

// Проверяем, является ли входное число четырехзначным и натуральным
if (input < 1000 || input > 9999) {
console.log("Введенное число не является четырехзначным");
return;
}

// Считаем суммы первой и второй, второй и третьей, третьей и четвертой цифр
const firstSum = Number(input.toString().charAt(0)) + Number(input.toString().charAt(1));
const secondSum = Number(input.toString().charAt(1)) + Number(input.toString().charAt(2));
const thirdSum = Number(input.toString().charAt(2)) + Number(input.toString().charAt(3));

// Находим наименьшую сумму и удаляем ее из массива сумм
const minSum = Math.min(firstSum, secondSum, thirdSum);
const sums = [firstSum, secondSum, thirdSum];
const index = sums.indexOf(minSum);
sums.splice(index, 1);

// Сортируем массив сумм по возрастанию и склеиваем в одно число
const result = sums.sort().join("");

// Возвращаем полученное число, объединяя его с первой цифрой входного числа
return Number(input.toString().charAt(0) + result);
}

// Пример использования функции
const input = 1284;
const result = calculate(input); // В результате получаем число 1012
 
using System;

namespace Project
{
class Program
{
static void Main()
{
Console.WriteLine("Введите 4-значное число: ");
string num = Console.ReadLine();
int n;
if (int.TryParse(num, out n))
{
string number = n.ToString();
if (number.Length == 4)
{
int n1 = int.Parse(number[0].ToString());
int n2 = int.Parse(number[1].ToString());
int n3 = int.Parse(number[2].ToString());
int n4 = int.Parse(number[3].ToString());
int sum1 = n1 + n2;
int sum2 = n2 + n3;
int sum3 = n3 + n4;
string example;
string str1 = sum1.ToString();
string str2 = sum2.ToString();
string str3 = sum3.ToString();
if (sum1 > sum2 && sum1 > sum3)
{
// sum1 max
if (sum2 > sum3)
{
// sum3 min
example = str2 + str1;
Console.WriteLine(example);
Console.ReadKey();
}
else
{
// sum2 min
example = str3 + str1;
Console.WriteLine(example);
Console.ReadKey();
}
}
else
{
// sum1 min
if (sum2 > sum3)
{
// sum2 max
example = str2 + str3;
Console.WriteLine(example);
Console.ReadKey();
}
else
{
// sum3 max
example = str3 + str2;
Console.WriteLine(example);
Console.ReadKey();
}
}
}
else
{
Console.WriteLine("Число не четырехзначное!");
Console.ReadKey();
}
}
else
{
Console.WriteLine("Вы ввели не число!");
Console.ReadKey();
}
}
}
}
 
Лучше чем Калашников все равно никто не придумает !
 
Назад
Сверху