Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/30: Рейтинг темы: голосов - 30, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.06.2012
Сообщений: 53

Подсчитать, сколько ошибочных табличек оказалось в бракованной партии

23.10.2012, 19:06. Показов 6357. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я не так давно начал осваивать JAVA читаю главу решаю задачи... Вообщем и на циклах я зациклился)))
Например есть такая задача....
В городе N есть большой склад на котором существует 50000 различных полок. Для удобства работников руководство склада решило заказать для каждой полки табличку с номером от 00001 до 50000 в местной типографии, но когда таблички напечатали, оказалось что печатный станок из-за неисправности не печатал цифру 2, поэтому все таблички, в номерах которых содержалась одна или более двойка (например, 00002 или 20202) — надо перепечатывать. Напишите программу, которая подсчитает сколько всего таких ошибочных табличек оказалось в бракованной партии.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    int a = 500;
        int sum=0;
        int sum2=0;
        int sum3=0;
        int sum4=0;
        int con=0;
        for (int i = 0; i < 500 ; i++){
            sum = i%10;
            sum2 = i/10;
            sum3 = sum2/10;
            sum4 = sum2%10;
            a = i;
                if (sum == 2 || sum3 == 2 || sum4 == 2){
                a = i;
                con++;
                System.out.println(con+" "+a);
                }
            
            }
Этот код решает такую задачу если табличек 500 и расширить до 50000 можно, но я понимаю это полный бред!!! еще он дает результат по кол-ву бракованных таблиц но выглядит это так:
1 2
2 12
3 20
4 21
***
174 472
175 482
176 492 последняя табличка с цифрой 2 это 492, а из 500 их 176 как сделать чтоб количество бракованных табличек показывалось 1 конечной цифрой
2
12
20
21
22
23
***
462
472
482
492
Всего бракованных табличек 176 (типа того)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2012, 19:06
Ответы с готовыми решениями:

Определить вероятность, что при проверке всей партии деталей не будет найдено ни одной бракованной
Здравствуйте, нужна помощь в решении следующей задачи: Есть партия деталей в количестве 170 шт. Каждая деталь имеет 3 угла. ...

Ввести двумерный массив 4*4, подсчитать кол-во (+) и (-) элементов и вывести статистику по строкам, сколько (+), сколько (-) и подсчитать общую сумму
не получается никак сделать многомерный массив... помогите пожалуйста #include &lt;iostream&gt; #include &lt;ctime&gt; using...

Сколько ионов натрия из брошенного кристаллика оказалось в этом стакане?
Озеро со средней глубиной 5м и площадью 4км2 «посолили», бросив кристаллик поваренной соли NаСl массой 10 мг. Спустя очень длительное время...

24
0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 3
24.12.2017, 17:22
Студворк — интернет-сервис помощи студентам
есть хороший вариант решения через рекурсию:
БРАКОВАННЫЕ ТАБЛИЧКИ

вот эта ссылка - там всё подробно объяснено:
https://youtu.be/UJvsh6tGquw
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
24.12.2017, 23:09
xiom, я бы понял тайминг в целый час, если бы там было общее решение, но его нет...
0
0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 3
25.12.2017, 16:57
КОП, на сарказм отвечаю только сарказмом:
- какая задача (существует 50000 различных полок), такое и решение !!!
- а видео учебное, поясняю для тех "кто не понял тайминг в целый час" - то есть для того, чтобы кто-то учился, поэтому первые полчаса о рекурсии, достоинства и недостатки, левосторонняя и правосторонняя, прямой и обратный ходы рекурсии, потом объяснение решения обсуждаемой задачи, на 53 минуте прямо сказано, что это не универсальное решение и указано "куда думать", чтобы сделать универсальным
- так как видео учебное, то оно и подразумевает, что учащимся нужно оставить поле для размышлений (возможно до следующего видео)
- у меня есть универсальное решение через рекурсию и есть измерения, тут пишу примерно (на скрине см. внизу конкретно): у рекурсивного решения количество строчек кода в 2 раза больше, но время исполнения в 1000 раз меньше для числа полок 199999 (не забываем, что рекурсия ограничена: Maximum call stack size exceeded)

- моё рекурсивное решение работает с таким же ответом как у цикла for (см. решения выше) для всех чисел в диапазоне до переполнения стека (сравнения проведены для числа полок от 0 до 199999)
- итак, если у вас нет общего рекурсивного решения, то пересмотрите видео и возьмите указанный там подход за основу:
JavaScript
1
2
3
4
5
6
7
8
    function getResultRec(n) {
        if (n==1) {
            return 1;
        }
        else {
            return 1*(Math.pow(10,n-1)) + 9*getResultRec(n-1);
        }
    }
- конкретно в моём коде эта функция употреблена как базовая так:
JavaScript
1
2
3
    function getResult(n) {
        return n<2? n: 1*(Math.pow(10,n-1)) + 9*getResult(n-1);
    }
- но вокруг неё есть и "оболочка" вспомогательного кода (тоже рекурсивного)
- на втором скрине методика испытайний
===
- ваше слово, товарищ Маузер © В.В.Маяковский
Миниатюры
Подсчитать, сколько ошибочных табличек оказалось в бракованной партии   Подсчитать, сколько ошибочных табличек оказалось в бракованной партии  
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
25.12.2017, 19:06
Цитата Сообщение от xiom Посмотреть сообщение
на сарказм
это была скорее плохо сформулированная критика.

Цитата Сообщение от xiom Посмотреть сообщение
какая задача (существует 50000 различных полок), такое и решение !!!
тогда просто System.out.println("23756");
Но это я утрирую, тут вы в общем правы.

Цитата Сообщение от xiom Посмотреть сообщение
- у меня есть универсальное решение через рекурсию и есть измерения, тут пишу примерно (на скрине см. внизу конкретно): у рекурсивного решения количество строчек кода в 2 раза больше, но время исполнения в 1000 раз меньше для числа полок 199999 (не забываем, что рекурсия ограничена: Maximum call stack size exceeded)
- моё рекурсивное решение работает с таким же ответом как у цикла for (см. решения выше) для всех чисел в диапазоне до переполнения стека (сравнения проведены для числа полок от 0 до 199999)
тут я был разочарован, т.к. грубо говоря треть видео это измерения скорости выполнения, но при этом не упоминается самый простой способ без циклов и рекурсий. Хотя может где-то в видео есть намек мол поищите сами
Java
1
2
3
public static int getResult(int n) {
        return (int)Math.pow(10, n) - (int)Math.pow(9, n);
    }
Цитата Сообщение от xiom Посмотреть сообщение
а видео учебное
главное чтоб целевой аудитории было приятно смотреть, мое мнение лишь капля в море, не принимайте близко к сердцу

Отвергая предлагаю:
рекурсию в отдельное видео, вместо пейнта что угодно, но не пейнт.
0
0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 3
25.12.2017, 19:15
КОП, спасибо за ответ
Цитата Сообщение от КОП Посмотреть сообщение
не упоминается самый простой способ без циклов и рекурсий
- это было уже четвёртое видео про эту задачу , те кто смотрят - они знают, пятое уже снимать не буду... может быть
- вот ссылка на моё решение: Бракованные таблички
- для спортивного программирования зачастую играет роль не только правильно работающий алгоритм, но и работающий быстро иначе будет TimeLimit и +20 минут штрафа
- спасибо за сотрудничество
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.12.2017, 19:15

Сколько присутствовало при встрече женщин, если рукопожатий оказалось 84?
Всем здравствуйте, помогите с задачкой! При встрече в стране Добрых людей жители приветствуют друг друга одним рукопожатием или...

Определить, имеются ли в партии из N деталей бракованные. Если да, то подсчитать их количество
Пригодность детали оценивается по размеру В, который должен соответствовать интервалу A-b, А+b. Определить, имеются ли в партии из N...

Составить программу, которая вычисляет, сколько всего зёрен оказалось на шахматной доске
3. На первую клетку шахматной доски положили 1 зерно, а на каждую следующую клетку на n зёрен больше, чем на предыдущую. Составьте...

Определить, сколько граммов соли оказалось бы в наперстке воды объемом 2 см3, зачерпнутой из озера
В озеро, имеющее среднюю глубину L м и площадь поверхности S кв.км, бросили кристалл поваренной соли массой 0,05 г. Сколько граммов соли...

Определить, сколько граммов соли оказалось бы в наперстке воды объемом 2 см3, зачерпнутой из озера
В озеро, имеющее среднюю глубину L м и площадь поверхности S кв.км, бросили кристалл поваренной соли массой 0,05 г. Сколько граммов соли...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал (мат мет мод 29)
anaschu 23.06.2026
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал Материалы для обсуждения с МГСУ · 2026 Рисунки внутри приложенного ворд файла. Что за. . .
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования? Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная. Где разрыв . . .
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно» Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
26. мед мат модель.Какие типы конфликтов функциональных требований можно рассчитать через ДЕС-моделирование (СМО) в AnyLogic?
anaschu 22.06.2026
Что ДЕС/ СМО умеет считать напрямую: Конфликты за ресурсы (очереди, узкие места). Несколько типов агентов (повара, учителя, рабочие, пациенты) претендуют на один ресурс (лифт, вход, коридор,. . .
25 модель здравосохранения и функциональных требований к пищеблоку: конфликты функциональных требований.
anaschu 22.06.2026
Есть ли данные о том, какие функциональные/ эксплуатационные требования или их сочетания труднее всего учитывать при проектировании зданий? Да, такие данные есть, и они хорошо описаны и в российской,. . .
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу: https:/ / github. com/ altbodhi/ ReConMan По итогу пришел к мысли, что DU не дружат с существующими технологиями. От сериализации до отображения в реляционную. . .
Администрация Хабра удаляет новые энрегоэфективные алгоритмы, которые не западной школы кода, и вовсе никак не сгенерировавны.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru