![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| banan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.11.2004 Где: Киев Репутация: нет Всего: нет |
Дано ряд чисел:1,12,123…,12345678910,
Узнать сколько чисел с первых N чисел делится на 3 Пример входящих данных:4 Пример исходящих данных:2 Это сообщение отредактировал(а) banan - 7.12.2004, 21:37 |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
тут все становится просто, если вспомнить, что делимость числа на 3 это все равно, что делимость суммы его цифр на 3
-------------------- qqq |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
N mod 3 = 0
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
тогда получается, что количество не может быть больше 2 -------------------- qqq |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Всё правильно у Vit'а
Возможно до этого ты его не так понял... Это сообщение отредактировал(а) Zero - 7.12.2004, 22:17 |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Да, кстати можно было и твоим (maxim1000) способом делать...
Zero: Вопрос первому из администраторов кто имеет отношение в создании сайта... Почему, я нажал на кнопку своего сообщения Цитата, а получилось за место слов "добавлено", новое сообщение создалось??? Какой то глюк, тут... Это сообщение отредактировал(а) Zero - 7.12.2004, 22:33 |
|||
|
||||
| maxim1000 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
Sorry, я просто подумал, что это уже ответ думаю, интерес представляет решение этой задачи для N, больших 10 (а даже при таком N возникнет переполнение) каждое следующее число добавляет N mod 3 последовательность таких добавок: 1, 2, 0, 1, 2, 0, ... если посмотреть на последовательность остатков от деления на 3, то увидим, что на 3 не делится каждое третье число (если нумеровать с нуля) вот и получаем: n - (n+2) div 3 Добавлено @ 22:35
а что подразумевается под дуальными числами? -------------------- qqq |
||||
|
|||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
Ладно, забудем |
|||
|
||||
| banan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.11.2004 Где: Киев Репутация: нет Всего: нет |
1<=N<=2 000 000
|
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Похоже banan'у не понравилось наше решение, с огроничением N до 9, может кто-нибудь придумает алгоритм, с учётом этого условия... |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
N mod 3 - выдаёт остаток от деления на 3, если число делится на 3 то выдаётся 0
Если числа слишком большие то надо найти сумму цифр числа и разделить на 3 и посмотреть остаток. А вычислять количество делящихся чисел в ряду - это пожалуйста - сами решайте, или обращайтесь в раздел алгоритмов... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Так я и думал, здесь никто не захочит мучится... |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Не в этом дело, мне, да не только мне но и многим здесь написать такую штуку несколько минут работы (если я правильно понял задание), но для меня совершенно очевидно, что это учебная задача, и если я дам готовый ответ, человек спишет его и ничему не научится, лучше я объясню куда двигаться, объясню какой-то момент, но задачу решить человек должен сам! Помогать буду, решать за другого нет! -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Хорошо сказано... Филосовский подход. Я именно так и сделаю, короче алгоритм такой: 1. Организуеш ввод числа, N (в моём примере выше это показано) 2. Создаш цикл от i до N (в начале i=1) 3. В нём сделаеш собрание суммы i-ых значений, и одновременно проверка суммы с помощью опратора mod, где если остаток есть то какой-нибудь счётчик прибавится на единицу. 4. Но впринципе и всё, выведеш последнее значение счётчика. P. S.:Если не сможеш сделать в течении дня, то пиши, скину прогу. Это сообщение отредактировал(а) Zero - 8.12.2004, 11:01 |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
ой... а может, никто не заметил?
-------------------- qqq |
|||
|
||||
| banan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.11.2004 Где: Киев Репутация: нет Всего: нет |
Работает,спасибо
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: нет Всего: 61 |
||||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Pakshin A. S., зачем так сложно, вопервых он уже вроде сам решил, во вторых можно намного проще:
Да ктому же тут доплнительное "банановое" условие выполняется: 1<=N<=2000000 Это сообщение отредактировал(а) Zero - 8.12.2004, 23:51 |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: нет Всего: 61 |
Zerosum переполнится при N = 2000000, может быть, хотя вряд ли... избегаем этих недоразумений...
поэтому делаем так:
А это уже и на n=2147483647 работать будет!!! Пояснение: шаг рассматриваемое число 1 1 2 12 3 3 4 4 5 45 6 6 7 7 8 78 9 9 10 10 11 1011 12 12 13 13 14 1314 15 15 16 16 17 1617 и т. п..... |
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |