Страница: 1 |
Страница: 1 |
Вопрос: Бейсик.Помогите
Добавлено: 28.03.07 20:18
Автор вопроса: Наташа | ICQ: 424551516
составить программу выведения всех четырехзначительных чисел (десятичных), сумма цифр которых равняется данному целому числу.Помогите мне нужно написать эту программу на Бейсике.Спасибо.
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #1
Добавлено: 14.04.07 20:37
на каком бейсике?
предлагаю кривое но функциональное решение на VBScript
dim i
dim s
dim res
dim a, b, c, d
num = inputbox("insert number"
'
for i=1000 to 9999
s = cstr(i)
a =Cint(mid(s,1,1))
b =Cint(mid(s,2,1))
c =Cint(mid(s,3,1))
d =Cint(mid(s,4,1))
if a+b+c+d = Cint(num) then res = res & Cstr(i) & ";"
next
msgbox(res)
в прмере номер переводится в строку а потом суммируются буквы(в смысле цифры) и сравниваются с введенным числом.
есть еще математический способ, но мне воблом щас вспоминать математику
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 14.04.07 23:57
for i = 1 to 9
for j = 0 to 9
for k = 0 to 9
if n-i-j-k >= 0 then
res = res + cstr(i) + cstr(j) + cstr(k) + cstr(n-i-j-k) + "; ";
end if
next
next
next
Номер ответа: 3
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #3
Добавлено: 15.04.07 02:34
for j = 0 to 9
for k = 0 to 9
if n-i-j-k >= 0 then
res = res + cstr(i) + cstr(j) + cstr(k) + cstr(n-i-j-k) + "; ";
end if
next
next
next
а если n=20 или двух-четырехзначное число? черз циклы правильнее но надо доработь.
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 15.04.07 02:46
ахда. Забыл and n-i-j-k<=9
Номер ответа: 5
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #5
Добавлено: 15.04.07 11:01
все равно не так, надо еше один цикл добавить и условие поменять
...
for m = 0 to 9
...
...
n-i-j-k-m = 0
res = res + cstr(i) + cstr(j) + cstr(k) + cstr(m) + "; "
...
next
Номер ответа: 6
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #6
Добавлено: 15.04.07 13:21
хотя наверно правильно, просто если ввести 20 то все варианты невойдут в строку.
и n не может быть более 36, Чегото я стормозил
Номер ответа: 7
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #7
Добавлено: 15.04.07 19:14
Наверно, ты не понял решение Если известна сумма и первые три цифры, то четвертую можно вычислить, если не забыть проверить, что она будет цифрой
Номер ответа: 8
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #8
Добавлено: 15.04.07 19:18
я это понял во время написания поста №6 а до этого я стормозил