Математика целых чисел
Помогите пожалуйста решить ету вот задачку:
Проверить утверждение, что разность любого натурального числа и суммы его цифр кратна 9, для всех чисел, лежащих между заданными m и n.
П.С. сори, темку отдельную создать не смог, вот и пишу тута...
Проверить утверждение, что разность любого натурального числа и суммы его цифр кратна 9, для всех чисел, лежащих между заданными m и n.
П.С. сори, темку отдельную создать не смог, вот и пишу тута...
1000a+100b+10c+d-a-b-c-d=999a+99b+9c+0. Утверждение верно
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
на Visual basic нуно написать... подскажите какие и сколько циклов нуно, штоб проверить утверждение
Странно, вообще обычно перед написанием программы требуется поработать мозгом и оптимизировать алгоритм. В вашем случае алгоритм оптимизируется до вырожденного состояния
print "Утверждение верно"
print "Утверждение верно"
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Код: Выделить всё
Private Sub Command1_Click()
Dim m As Integer, n As Integer
m = Text1.Text
n = text2.text
p = 1
For x = m To x <= n
s = 0
y=x
Do while y > 0
t = у Mod 10
s = s + t
y=(y-t)/10
loop
L = (x - s) Mod 9
If L <> 0 Then p = 0
End If
Next x
If p <> 0 Then MsgBox ("Утверждение верно")
Else: MsgBox ("Утверждение неверно")
Enв if
End Sub

Код: Выделить всё
Private Sub Command1_Click()
Dim m As Integer, n As Integer
m = Text1.Text
n = text2.text
p = 1
For x = m To n
s = 0
y=x
Do while y > 0
t = у Mod 10
s = s + t
y=(y-t)/10
loop
L = (x - s) Mod 9
If L <> 0 Then p = 0
End If
Next x
If p <> 0 Then MsgBox ("Утверждение верно")
Else
MsgBox ("Утверждение неверно")
End if
End Sub

П.С. с бэйсиком впервые пересекся, хз какие там апираторы и особенности)
Можно перевести число в строку, вычесть из кода каждого символа строки код нуля, а полученные разности отнять от исходного числа. Если в итоге получится число, кратное девяти (а оно получится) - вывести "Утверждение верно".
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
я тоже так хотел сделать, но хз... возня всякая с типом числа (строка - цифра) меня пугает)) намужу чтонить и результата никакого...((
Есть неплохая книга по математическим основам программирования, советую почитать.
Скачать её можнр здесь: http://webprogrammer.wallst.ru/others1.html
Скачать её можнр здесь: http://webprogrammer.wallst.ru/others1.html