В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
dianahohlova
dianahohlova
21.08.2022 21:52 •  Информатика

Решите информатику анализ схем.


Решите информатику анализ схем.

Показать ответ
Ответ:
klychkovs66
klychkovs66
12.03.2023 16:59

using System;

namespace NoNamespace.Task029 {

   //Напишите консольное приложение на C#, находящее пару чисел меньше N,  

   //сумма цифр которых одинакова, и сообщающее, если таких чисел нет

   internal class Program {

       private static void Main() {

           Console.WriteLine("Введите N");

           var n = int.Parse(Console.ReadLine());

           var sums = new int[n];

           sums[0] = 1;

           for (var i = 1; i < n; i++) {

               sums[i] = NumberSum(i);

           }

           var found = false;

           for (var i = 1; i < n; i++) {

               if (sums[i] == 0) continue;

               for (var j = i + 1; j < n; j++) {

                   if (sums[i] != sums[j]) continue;

                   Console.WriteLine($"Number sum {i} and {j} = {sums[i]}");

                   found = true;

               }

           }

           if (!found)

               Console.WriteLine("Nothing found");

           Console.ReadKey();

       }

       private static int NumberSum(int number) {

           var sum = 0;

           while (number > 0) {

               sum += number % 10;

               number = number / 10;

           }

           return sum;

       }

   }

}

0,0(0 оценок)
Ответ:
vikaya2911
vikaya2911
19.09.2020 19:58
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу.
2. Немного изменим ваш код и получим искомое значение x
Искомое число х = 16293

var
  x, y, a, b, k: integer;

begin
  k:=10000;
  repeat
    x:=k;
    a := 0; b := 0; y := 1;
    while x > 0 do
    begin
      if (x mod 10) mod 2 = 0
        then
        a := a * 10 + x mod 10
      else begin
        y := y * 10;
        b := b * 10 + x mod 10
      end;
      x := x div 10
    end;
    a := a * y + b;
    k := k + 1;
    until a = 26391;
    writeln(a:8, k-1:8); 
end.

 
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота