Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
11 / 11 / 24
Регистрация: 12.12.2017
Сообщений: 131
Записей в блоге: 2

Найти десятизначное число

28.12.2017, 10:39. Показов 4852. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие
Дано десятизначное число обладающее свойствами
1. первая (слева) цифра этого числа равна числу нулей в этом числе.
2. вторая цифра равна числу единиц в этом числе.
3. третья цифра равна числу двоек в этом числе
и так далее...
10. десятая цифра равна числу девяток в этом числе.
...
Найти это число
...
Решение
1. Что делать? Перебор? Это долго...
2. Значит надо сократить перебор. Как? Обратите внимание на то,
что все цифры в этом числе обозначают КОЛИЧЕСТВО цифр!!! А это
значит, что СУММА цифр этого числа равна 10. Ведь цифр всего 10.
3. Из предыдущего логического вывода следует, что такие цифры,
как 5; 6; 7; 8; 9 могут быть в числе либо 1 раз, либо ни разу.
4. Наложим ещё ограничения
Допустим, что число нулей в этом числе 9. То есть число должно выглядеть
так 9 000 000 000. Но раз есть цифра 9, то на десятом месте должна стоять
цифра 1. То есть имеем 9 000 000 001. Но выходит, что нулей всего 8, а не 9.
Вывод
Цифр 9 в этом числе нет. Значит на конце числа стоит 0
5. Аналогично можно доказать, что в этом числе отсутствуют
цифры 8 и 7. Значит число оканчивается на три нуля.
6. Итак перебор сильно сократился. Что мы имеем? Надо найти семизначное
число (три нуля мы всегда в конец допишем), сумма цифр которого равна 10.
7. Вообще можно решить эту задачу аналитически не прибегая к составлению
программы. Но меня интересует алгоритм этой задачи в виде программы на
qbasic. А ответ я вам и так скажу (решено аналитически).
Вот это число 6 210 001 000.
8. Алгоритм проверки числа. Оно ли?
Это видимо должен быть двойной цикл (сейчас мы имеем дело с семизначным числом)
8.0 берется первая цифра (число нулей) и подсчитывается число этих нулей
(это внутренний цикл)
8.1 берется вторая цифра (число единиц) и считаются единицы в числе
и так далее...
9. А в начале то как?
Можно задать цикл. И используя функцию RND задать все 7 цифр, а потом
составить число и проверить его на правильность. Вероятно массив цифр тоже
может подойти.
В общем я запутался. Кто поможет?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.12.2017, 10:39
Ответы с готовыми решениями:

Задано десятизначное N. Нужно определить количество хороших чисел, меньших N.
Задано десятизначное N. Нужно определить количество хороших чисел, меньших N. Хорошие, если: Его первая цифра 2 Пятая цифра в сумме с...

Ввести число. По выбору пользователя найти его противоположное, вычесть из него это же число, уменьшенное вдвое, или найти обратное число
var n: integer; begin Writeln('Vvedit chislo '); Readln(n); case n of 'n<0' : n:=n*(-1); 'n>0' : n:=n-n/2; ...

Дано двухзначное число. Найти число десятков, число единиц в нем, произведение его цифр
Помогите плиз=)) Дано двухзначное число. Найти число десятков ,число едениц в нем, произвеление его цыфр

4
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
28.12.2017, 11:31
Лучший ответ Сообщение было отмечено Ли2 как решение

Решение

полный перебор всех вариантов нашел только одно такое число: 6210001000
1
11 / 11 / 24
Регистрация: 12.12.2017
Сообщений: 131
Записей в блоге: 2
28.12.2017, 11:54  [ТС]
m-ch
Вы добавляли какие то условия ограничения или хватило того,
что я написал?
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
28.12.2017, 11:58
Лучший ответ Сообщение было отмечено Ли2 как решение

Решение

я реализовал полный перебор всех вариантов от 1000000000 до 9999999999, с проверкой каждого числа

реализация на FreeBasic (реализация не самая короткая, но самая быстрая по написанию кода), время расчета около 4х минут, на QBasic думаю не следует запускать, не дождетесь окончания вычислений
Кликните здесь для просмотра всего текста
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
DIM AS LONG i0, i1, i2, i3, i4, i5, i6, i7, i8, i9
DIM a(9) AS LONG
DIM tmr AS SINGLE
 
tmr = TIMER
FOR i0 = 1 TO 9
    PRINT i0
FOR i1 = 0 TO 9
FOR i2 = 0 TO 9
FOR i3 = 0 TO 9
FOR i4 = 0 TO 9
FOR i5 = 0 TO 9
FOR i6 = 0 TO 9
FOR i7 = 0 TO 9
FOR i8 = 0 TO 9
FOR i9 = 0 TO 9
    ERASE a
    a(i0) = a(i0) + 1
    a(i1) = a(i1) + 1
    a(i2) = a(i2) + 1
    a(i3) = a(i3) + 1
    a(i4) = a(i4) + 1
    a(i5) = a(i5) + 1
    a(i6) = a(i6) + 1
    a(i7) = a(i7) + 1
    a(i8) = a(i8) + 1
    a(i9) = a(i9) + 1
    IF a(0)=i0 THEN IF a(1)=i1 THEN IF a(2)=i2 THEN IF a(3)=i3 THEN IF a(4)=i4 THEN IF a(5)=i5 THEN IF a(6)=i6 THEN IF a(7)=i7 THEN IF a(8)=i8 THEN IF a(9)=i9 THEN PRINT i0 & i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 & i9
NEXT i9, i8, i7, i6, i5, i4, i3, i2, i1, i0
PRINT TIMER - tmr
SLEEP
1
11 / 11 / 24
Регистрация: 12.12.2017
Сообщений: 131
Записей в блоге: 2
28.12.2017, 12:06  [ТС]
m-ch
Спасибо вам за программу. Я тоже думал о десятикратном цикле.
Но бейсик наверное считал бы сутки, поэтому пришлось придумывать
ограничения на сокращение вычислений. И в конце концов, когда я
понял, сколько должно быть нулей, задача решилась аналитически
... там просто вариантов не осталось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.12.2017, 12:06
Помогаю со студенческими работами здесь

Данно вещественное число X. Найти в нем первое число десятка, число десятых долей.
помогите плз решить Данно вещественное число X. Найти в нем первое число десятка, число десятых долей.

Найти число отрицательных, число нулевых и число положительных элементов массива
Я далека от программирования. Учусь вообще на фил.факе и на последнем году учебы нам преподнесли сюрприз в виде программирования на языке...

Некоторое число оканчивается на 2. Если же эту его последнюю цифру переставить на первое место, то число удвоится. Найти это число
Некоторое число оканчивается на 2. Если же эту его последнюю цифру переставить на первое место, то число удвоится. Найти это число.

Дано натуральное число n (n>999). Найти: а)число сотен в нем; б)число тысяч в нем
Дано натуральное число n (n>999). Найти: а)число сотен в нем; б)число тысяч в нем.

Найти число пассажиров, имеющий более двух вещей, и число пасcажиров , количество вещей которых происходит среднее число вещей
В условии предыдущей задачи найти число пассажиров имеющий более двух вещей и число пассажиров количество вещей которых превосходит число...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru