3 / 3 / 4
Регистрация: 03.11.2015
Сообщений: 89
|
||||||
1 | ||||||
Поиск натуральных чисел,которые делятся на числа из которых состоят24.03.2016, 20:47. Показов 4581. Ответов 12
Метки нет (Все метки)
Написал код,который от 10 до 100 ищет числа,но не могу понять в чем моя ошибка.Компилятор выдаёт какой-то бред(прервать или продолжить).
0
|
24.03.2016, 20:47 | |
Ответы с готовыми решениями:
12
Вывести на печать такие из трехзначных чисел, которые делятся на числа из которых состоят Вывести те числа, которые делятся без остатка на цифры, из которых состоят Среди трехзначных чисел найти такие которые делятся на цифры из которых состоят Найти первые N натуральных чисел, которые делятся на заданные числа |
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
|
|
24.03.2016, 22:22 | 2 |
Что знает третикласник, про что забыли вы?
Почитайте по правила деления чисел!!!
0
|
0 / 0 / 1
Регистрация: 07.12.2015
Сообщений: 33
|
|
24.03.2016, 22:38 | 3 |
делятся на все цифры или на хотя бы одну цифру
0
|
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
|
|
24.03.2016, 22:49 | 4 |
Zadr, Чяво?
0
|
Вездепух
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
|
|
24.03.2016, 22:52 | 5 |
0
|
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
|
|
24.03.2016, 22:56 | 6 |
TheCalligrapher, Слоны на черепахи
0
|
181 / 47 / 33
Регистрация: 27.02.2016
Сообщений: 260
|
||||||
24.03.2016, 22:57 | 7 | |||||
Условие, как понял я: Необходимо вывести числа, которые делятся на цифры, используемые в их записи.
Пример: 36, делится и на 3, и на 6 -> выводим 25, не делится на 2, но делится на 5 -> выводить не нужно P.S.: В строках 12,13 проверяем на ноль, я исключил его из проверки, т.е. принял, что ноль делит любое число.
0
|
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
|
|
24.03.2016, 23:06 | 8 |
Lost17, экстрасенсом подрабатываешь?
0
|
3 / 3 / 4
Регистрация: 03.11.2015
Сообщений: 89
|
|
25.03.2016, 11:50 [ТС] | 9 |
А можете объяснить это действие,я его понимаю как-если не равно Dec,то Dec=1.Я эти действия удалил и выбило ошибку.
0
|
181 / 47 / 33
Регистрация: 27.02.2016
Сообщений: 260
|
|
25.03.2016, 14:28 | 10 |
Условие if в скобках содержит логический тип, т.е. 0 или 1 (true или false). Поэтому прежде чем поделить на переменные Dec или Ed, я проверяю наличие в них нуля. Если в переменной ноль, то мы берем отрицание, получаем единицу(true) и условие выполняется.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
||||||||||||||||
25.03.2016, 15:38 | 11 | |||||||||||||||
Valuamba,
Вот эта проверка
Добавлено через 56 минут Немного переделанный код Lost17,
Но вообще говоря, это код находит всего 14 чисел, а их всего и есть 14. Поэтому проще для такой задачи записать их куда-нибудь, эти числа и при необходимости составлять из них массив и брать их оттуда. Интерес представляет общее решение, когда диапазон произвольный, например, от 0 до 10000000; в коде ниже, быть может, можно обойтись без одной-двух переменных, но они оставлены для наглядности. тут код
1
|
3 / 3 / 4
Регистрация: 03.11.2015
Сообщений: 89
|
|
25.03.2016, 17:00 [ТС] | 12 |
Спасибо большое за такой внятный ответ.Я понял так:мы перебираем каждое число например 784(7,8,4,0) когда мы доходим до 0 проверка прерывается и начинаем смотреть делится ли это число 784 на свои остатки 7,8,4,Если да то мы его записываем.Вот примерно моя логика.
Еще мне чуть-чуть не понятны следующие коды я читаю так -"цикл идет пока temp и check а вот это я понимаю как если n=0 или i%n=1,то чек-фолс. Может я много бреда написал,но как-то так я понимаю все выше описанное= "
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
25.03.2016, 18:33 | 13 |
, правильно
Ты, может, и весь алгоритм понял, но в твоём описании это звучит так: берём число 784 и делаем из него массив чисел: 7,8,4. И только после этого начинаем проверять каждое из чисел. Но это не так. Мы не (делаем массив чисел (7 или 8 или 4) и ПОТОМ осуществляем проверку каждого числа). Мы генерируем очередное число (7 или 8 или 4) и ТУТ ЖЕ осуществляем проверку. Если она не проходит, оставшиеся числа не рассматриваем. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Пробегаемся счётчиком i от 0 до 10000. Имеем очередное число, например 784. В цикле while (temp && check) перебираем числа в такой последовательности: 784, 78, 4 То есть в каждом теле цикла каждый раз мы находим новое значение temp (temp/= 10)- и это написано в комментариях к коду. Сперва temp = 784, потом 78, потом 4. И с каждым значением temp мы и работаем. А когда temp становится равным 0, мы просто выходим из цикла while (temp && check) Что мы делаем с этими значениями temp (784, 78 и 4)? А мы находим последнюю цифру (её я обозначил n) и осуществляем самую главную проверку- проверяем, делится ли i на неё или нет. А i, напомню, у нас 784. И пока мы исследуем число 784 в цикле while (temp && check), i равна 784 Последнюю цифру мы находим как n= temp%10. Сперва temp = 784, нашли n, n==4. Что делаем дальше? А проверяем, i делится без остатка на n или нет. То есть 784 делится без остатка на 4 или нет. И если она НЕ ДЕЛИТСЯ (if ((!n) || (i%n))), то тут мы сигнализируем: не делится- переменной сheck присваиваем значение false. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ То есть представим себе, что i у нас число не 784, а 789. Мы нашли temp (789), зашли в тело цикла while (temp && check), нашли n (9) и проверили, делится ли i на 9 (if ((!n) || (i%n))) Не делится! Значит, переменной check присваиваем значение false и пошли на новое тело цикла. А оно выполняться НЕ БУДЕТ, ибо переменная check равна false. Поэтому мы вышли из цикла. Печатание i не произошло (if (check) выпоняется, только если check == true) и мы обратились к следующему значению i, к 790.
0
|
25.03.2016, 18:33 | |
25.03.2016, 18:33 | |
Помогаю со студенческими работами здесь
13
Получить N первых натуральных чисел, которые не делятся без остатка на простые числа (кроме 2, 3 и 5) Найти сумму натуральных чисел, которые делятся на 5 и не делятся на m Получить в порядке возрастания N первых натуральных чисел, которые не делятся ни на какие простые числа, кроме 2, 3 и 5 Дано натуральное n. Получить в порядке возрастания n первых натуральных чисел, которые не делятся ни на какие простые числа, кроме 2, 3 и 5 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |