Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2020, 09:22   #1
wxrst
Новичок
Джуниор
 
Регистрация: 19.10.2020
Сообщений: 4
Лампочка Scilab. Сумма цифр двузначного числа равна A. Если поменять местами его цифры, то получим число, которое больше данного на B. Найти данное число .

Всем привет. Знает кто как решение этой задачи переделать в общее решение? Программа должна найти общую формулу и исходя из нее писать ответ, а данные мы вводим в начале программы (т.е пример: exec('D:\scilab\programma.sce', [а тут входные данные A, B и исходное число)
Сумма цифр двузначного числа равна A. Если поменять местами его цифры, то получим число, которое больше данного на B. Найти данное число . Построить графики и таблицы данного значения значения от A1 и A2.
Решение:Допустим, что двухзначное число состоит из х десятков и у единиц, значит его значение 10 * х + у.
Если цифры числа переставить местами, то мы получим число 10 * у + х.
Составим следующее уравнение:
10 * у + х - (10 * х + у) = B,
10 * у + х - 10 * х - у = B,
9 * у - 9 * х = B,
9 * (у - х) = B, (сокращаем по возможности 9 и B)
у - х = C.
Значит у = С + х.
Кроме того, нам известно, что х + у = 10.
Потом подставим в это выражение значение у из первого уравнения:
и найдем x и y, после этого находим искомое число
Таким образом, искомое число равно D.
Код:
clc; clear;
count=0
for A=3:18
    for B=0:9:8*9
        y = (9*A + B)/18
        x = A - y
        if (x == int(x))  && (y == int(y)) && (x>0) && (y>0) && (x<y) && (y<10)
            mprintf("A = %d, B=%d \t=> %d, %d\n",A,B,10*x+y,10*y+x)
            count=count+1
        end
    end
end
disp(count)
wxrst вне форума Ответить с цитированием
Старый 08.12.2020, 11:37   #2
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 962
По умолчанию

Результаты выглядят правдоподобно
и наверняка сочетания x & y возможно уменьшить
Код:
'daxyyx.bas
FOR b = 1 TO 50
    FOR x = 1 TO 9: FOR y = 1 TO 9
            IF 10 * x + y = 10 * y + x + b THEN PRINT b, x; y
NEXT: NEXT: PRINT b: NEXT
END
Вариант думаю быстрее:
Код:
'daxyyx.bas
FOR b = 1 TO 50
    FOR x = 1 TO 8: FOR y = x + 1 TO 9 ' отличается
            IF 10 * x + y + b = 10 * y + x THEN PRINT b, x; y
NEXT: NEXT: PRINT b: NEXT
END
Будучи подписчиком ютюб канала форума:
иллюстрация комбинаций

https://www.youtube.com/watch?v=cesSFpUl7uI
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 08.12.2020 в 12:32.
сфинкс вне форума Ответить с цитированием
Старый 08.12.2020, 14:56   #3
wxrst
Новичок
Джуниор
 
Регистрация: 19.10.2020
Сообщений: 4
По умолчанию

А возможно ли решить данную задачу используя матричные вычисления?
wxrst вне форума Ответить с цитированием
Старый 08.12.2020, 14:57   #4
wxrst
Новичок
Джуниор
 
Регистрация: 19.10.2020
Сообщений: 4
По умолчанию

Цитата:
Сообщение от сфинкс Посмотреть сообщение
Результаты выглядят правдоподобно
и наверняка сочетания x & y возможно уменьшить
Код:
'daxyyx.bas
FOR b = 1 TO 50
    FOR x = 1 TO 9: FOR y = 1 TO 9
            IF 10 * x + y = 10 * y + x + b THEN PRINT b, x; y
NEXT: NEXT: PRINT b: NEXT
END
Вариант думаю быстрее:
Код:
'daxyyx.bas
FOR b = 1 TO 50
    FOR x = 1 TO 8: FOR y = x + 1 TO 9 ' отличается
            IF 10 * x + y + b = 10 * y + x THEN PRINT b, x; y
NEXT: NEXT: PRINT b: NEXT
END
Будучи подписчиком ютюб канала форума:
иллюстрация комбинаций

https://www.youtube.com/watch?v=cesSFpUl7uI
а можно ли решить данную задачу используя матричные вычисления?
wxrst вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести натуральное число и определить, верно ли, что сумма его цифр равна 10 ---Demon--- Общие вопросы C/C++ 1 27.10.2014 07:34
Говорят, что число "Счастливое" если сумма цифр левой половины числа равна сумме цифр правой половины числа. если число имеет нече Xumera Паскаль, Turbo Pascal, PascalABC.NET 1 18.11.2013 21:45
Дано натуральное число n ( n<=100).Чему равна сумма его цифр? Petrovich83 Помощь студентам 1 11.04.2011 21:12
Дано натуральное число n. Определить, сколько парных цифр в числе n. Чему равна сумма нечетных его цифр? pahanzona Microsoft Office Excel 4 27.02.2011 15:46
Дано целое двухзначное число.Определить равна ли сумма его цифр 7. Составте к нему и блок - схему. DeadAir Паскаль, Turbo Pascal, PascalABC.NET 2 03.04.2010 14:18