Цикл вывести кратное число с

Найти кратное число из диапазона

Здравствуйте!
У меня к вам огромная просьба, помогите решить следующую задачу:

Есть диапазон целых чисел допустим от А до В
Нужно в этом диапазоне найти число которое будет кратно 50 (ну или любому другому числу)

Помощь в написании контрольных, курсовых и дипломных работ здесь.

С заданного интервала найти минимальное и максимальное число кратное 4
Интервал принимает одно из трех значений: , , . Найти минимальное число кратно 4 и максимальное.

Найти наименьшее натуральное число M, кратное, для которого
Найти наименьшее натуральное число М, кратное 3, для которого √M+|

Через for: проверить, есть ли в последовательности хотя бы одно число, кратное а и не кратное b
Если среди чисел i3-17*i*n2+n3 (i = 1,2,…,n) есть хотя бы одно число, кратное а и не кратное b, то.

Спасибо все огромное за профессиональные ответы.
Родился еще один вопрос как можно сделать так что бы искомое число можно было в будущим использовать для расчетов, например придать ему тип dooble.

Вывод информации мне не нужен, так как этот код используется другой программой.

Искомое число это то число которое делятся на 50.
Вообще конструкция такая:

Добавлено через 8 минут
Все числа выдуманные

Дык у тебя будет несколько кратных чисел. Тебе какое конкретно надо будет.

Хочешь напиши суть твоей задачи, решим вместе .

В идеале они все, но что бы их можно было использовать по отдельности, ну или самое большое и самое маленькое.
Но там будут маленькие промежутки так что в 99% случаях там будет только одно кратное число, например 150 и все.
Это число в дальнейшем будет нужно для арифметических действий и сравнений его с другими числами.

Добавлено через 27 минут
Там получается вся эта конструкция будет пересчитываться например каждые 10 минут и следовательно диапазон для искомого кратного числа будет меняться и мне нужно будет каждый раз получать для расчетов это кратное число.

Например.
есть число X (оно известно) и Y (оно то же известно)
Эти числа X и Y будут так же входить в диапазон 100 — 200

и диапазон от 100 до 200

дальше в этом диапазоне ищется число кратное 50 это будет 150
дальше проверяется
if (X 150)
<
действие
>

Добавлено через 5 минут
дальше в этом диапазоне ищется число кратное 50 это будет Z в данном примере = 150
дальше проверяется
if (X[i] Z[i])
<
действие
>

Так же понадобиться при новом пересчете проверять выполнение данног условия на прошлом пересчете
Например:
if (X[i-1] Z[i-1]) && (X[i] Z[i])
<
действие
>

Источник

W5. Разные задачи на циклы с условием

Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи. Пример решения.
Решены задачи: 2-4,7. Не решены: 1,5,6,8-28.

Задачи

W5.1. Имеется фрагмент программы в виде оператора цикла с параметром, обеспечивающий вывод на экран «столбиком» всех целых чисел от 10 до 30. Оформить этот фрагмент в виде:
а) оператора цикла с предусловием;
б) оператора цикла с постусловием.

W5.2. Имеется фрагмент программы в виде оператора цикла с параметром, обеспечивающий вывод на экран «столбиком» всех целых чисел от 100 до 80. Оформить этот фрагмент в виде:
а) оператора цикла с предусловием;
б) оператора цикла с постусловием.

W5.3. Имеется фрагмент программы в виде оператора цикла с параметром, обеспечивающий вывод на экран «столбиком» квадратного корня из всех целых чисел от a до b (a > b). Оформить этот фрагмент в виде:
а) оператора цикла с предусловием;
б) оператора цикла с постусловием.

W5.4. Дано натуральное число. Определить:
а) количество цифр в нем;
б) сумму его цифр;
в) произведение его цифр;
г) среднее арифметическое его цифр;
д) сумму квадратов его цифр;
е) сумму кубов его цифр;
ж) его первую цифру;
з) сумму его первой и последней цифр.

W5.5. Известны оценки по информатике каждого из 20 учеников класса. В начале списка перечислены все пятерки, затем все остальные оценки. Сколько учеников имеют по информатике оценку «5»? Условный оператор не использовать. Рассмотреть два случая:
1) известно, что пятерки имеют не все ученики класса;
2) допускается, что пятерки могут иметь все ученики класса.

W5.6. Известны сведения о количестве осадков, выпавших за каждый день мая. Первого мая осадков не было. Определить, в течение какого количества первых дней месяца непрерывно, начиная с первого мая, осадков не было? Условный оператор не использовать. Рассмотреть два случая:
1) известно, что в какие-то дни мая осадки выпадали;
2) допускается, что осадков могло не быть ни в какой день мая.

W5.7. Напечатать минимальное число, большее 200, которое нацело делится на 17.

W5.8. Найти максимальное из натуральных чисел, не превышающих 5000, которое нацело делится на 39.

W5.9. Известны данные о росте 15 юношей класса, упорядоченные по убыванию. Нет ни одной пары учеников, имеющих одинаковый рост. В начале учебного года в класс поступил новый ученик. Какое место в перечне ростов займет рост этого ученика? Известно, что его рост не совпадает с ростом ни одного из учеников класса, превышает рост самого низкого ученика и меньше роста самого высокого. Условный оператор не использовать.

W5.10. Известно количество очков, набранных каждой из 20-ти команд-участниц первенства по футболу. Перечень очков дан в порядке убывания (ни одна пара команд не набрала одинаковое количество очков). Определить, какое место заняла команда, набравшая N очков (естественно, что значение N имеется в перечне). Условный оператор не использовать.

W5.11. Гражданин 1 марта открыл счет в банке, вложив 1000 руб. Через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы. Определить:
а) за какой месяц величина ежемесячного увеличения вклада превысит 30 руб.;
б) через сколько месяцев размер вклада превысит 1200 руб.

W5.12.. Начав тренировки, лыжник в первый день пробежал 10 км. Каждый следующий день он увеличивал пробег на 10% от пробега предыдущего дня. Определить:
а) в какой день он пробежит больше 20 км;
б) в какой день суммарный пробег за все дни превысит 100 км.

W5.13. В некотором году (назовем его условно первым) на участке в 100 гектаров средняя урожайность ячменя составила 20 центнеров с гектара. После этого каждый год площадь участка увеличивалась на 5%, а средняя урожайность на 2%. Определить:
а) в каком году урожайность превысит 22 центнера с гектара;
б) в каком году площадь участка станет больше 120 гектаров;
в) в каком году общий урожай, собранный за все время, начиная с первого года, превысит 800 центнеров.

W5.14. Найти наибольший общий делитель двух заданных натуральных чисел, используя алгоритм Евклида.

W5.15. Найти наименьшее общее кратное двух заданных натуральных чисел.

W5.16. Даны натуральные числа a и b, обозначающие соответственно числитель и знаменатель дроби. Сократить дробь, т. е. найти такие натуральные числа p и q, не имеющие общих делителей, что p/q = a/b.

W5.17. Дан прямоугольник с размерами 425 х 131 . От него отрезают квадраты со стороной 131, пока это возможно. Затем от оставшегося прямоугольника вновь отрезают квадраты со стороной, равной 425 — 131·3 = 32, и т. д. На какие квадраты и в каком их количестве будет разрезан исходный прямоугольник?

W5.18. Дан прямоугольник с размерами a x b. От него отрезают квадраты максимального размера, пока это возможно. Затем от оставшегося прямоугольника вновь отрезают квадраты максимально возможного размера и т. д. На какие квадраты и в каком их количестве будет разрезан исходный прямоугольник?

W5.19. Даны целые числа a и b (a > b). Определить:
а) результат целочисленного деления a на b, не используя стандартную операцию целочисленного деления;
б) остаток от деления a на b, не используя стандартную операцию вычисления остатка.

W5.20. Даны натуральные числа m и n. Получить все кратные им числа, не превышающие m·n. Условный оператор не использовать. Задачу решить двумя способами.

W5.21. В некоторой стране используются денежные купюры достоинством в 1, 2, 4, 8, 16, 32 и 64. Дано натуральное число n. Как наименьшим количеством таких денежных купюр можно выплатить сумму n (указать количество каждой из используемых для выплаты купюр)? Предполагается, что имеется достаточно большое количество купюр всех достоинств.

W5.22. Дано натуральное число (пусть запись этого числа в десятичной системе имеет вид akak-1…a0 ). Найти:
а) знакочередующуюся сумму цифр этого числа a0 — a1 +… + (-1) k ak;
б) знакочередующуюся сумму цифр этого числа ak — ak—1 +… + (-1) k a0;
Примечание. В обеих задачах условный оператор и операцию возведения в степень не использовать.

W5.23. Дано натуральное число. Найти:
а) число, получаемое при прочтении его цифр справа налево;
б) число, получаемое в результате приписывания по двойке в начало и конец записи исходного числа;
в) число, получаемое в результате удаления из него всех цифр а;
г) число, получаемое из исходного перестановкой его первой и последней цифр;
д) число, образованное из исходного приписыванием к нему такого же числа.

W5.24. Известен факториал числа. Найти это число (факториал числа n равен 1 ·2 · … ·n).

W5.25. Дано натуральное число. Определить номер цифры 3 в нем, считая от конца числа. Если такой цифры нет, ответом должно быть число 0, если таких цифр в числе несколько — должен быть определен номер самой правой из них.

W5.26. Дано натуральное число. Определить сумму m его последних цифр. Если заданное число — менее чем m-значное, то «недостающие» цифры при решении задачи не обрабатывать.

W5.27. Дано натуральное число. Найти его наименьший делитель, отличный от 1.

W5.28. Используя метод деления отрезка пополам, найти приближенное (с точностью 0,001) значение корня уравнения f(x)=0 на отрезке [a, b]:
а) f(x) = x 4 + 2x 3 — x -1; a=0, b=1;
б) f(x) = x 3 — 0,2x 2 — 0,2x -1,2; a=1, b=1,5.

Источник

Z1. Циклы и условные операторы. Простейшие задачи

Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи. Пример решения.
Решены задачи: 1-9, 12. Не решены: 10-11, 13.

Задачи

Z1.1. Вывести на экран все целые числа от 100 до 200, кратные трем.

Z1.2. Вывести на экран все целые числа от a до b, кратные некоторому числу c.

Z1.3. Найти сумму положительных нечетных чисел, меньших 50.

Z1.4. Найти сумму целых положительных чисел из промежутка от a до b, кратных четырем.

Z1.5. Составить программу поиска четырехзначных чисел, которые при делении на 47 дают в остатке 43, а при делении на 43 дают в остатке 37.

Z1.6. Составить программу поиска четырехзначных чисел, которые при делении на 133 дают в остатке 125, а при делении на 134 дают в остатке 111.

Z1.7. Определить количество натуральных чисел из интервала от 100 до 500, сумма цифр которых равна 15. Подсказка.

Z1.8. Определить количество трехзначных натуральных чисел, сумма цифр которых равна целому числу n (0 ˂ n ˂= 27).

Z1.9. Найти:
а) все двузначные числа, сумма квадратов цифр которых делится на 13;
б) все двузначные числа, обладающие следующим свойством: если к сумме цифр числа прибавить квадрат этой суммы, то получится снова искомое число.

Z1.10. Найти все двузначные числа, которые делятся на n или содержат цифру n.

Z1.11. Найти:
а) все трехзначные числа, чьи квадраты оканчиваются тремя цифрами, которые и составляют искомые числа;
б) все трехзначные числа, кратные семи и у которых сумма цифр также кратна семи.

Z1.12. Найти сумму целых положительных чисел, больших 30 и меньших 100, кратных трем и оканчивающихся на 2, 4 и 8.

Z1.13. Дано натуральное число.
а) Получить все его делители.
б) Найти сумму его делителей.
в) Найти сумму его четных делителей.
г) Определить количество его делителей.
д) Определить количество его нечетных делителей.
е) Определить количество его делителей. Сколько из них четных?
ж) Найти количество его делителей, больших d.

Источник

Решение задач на С++

понедельник, 14 февраля 2011 г.

Операторы цикла

Цикл For. Блок 2. Задачи на цикл For.

Задача A. Четные числа
Выведите (через пробел) все четные числа от a до b (включительно).

  1. int a, b ;
  2. cin >> a >> b;
  3. for ( int i = a; i if (i % 2 == 0)
  4. cout ‘ ‘ ;

* This source code was highlighted with Source Code Highlighter .

Задача B. Остаток
Вводятся 4 числа: a, b, c и d.
Выведите все числа на отрезке от a до b, дающие остаток c при делении на d.

  1. int a, b, c, d ;
  2. cin >> a >> b >> c >> d;
  3. for ( int i = a ; i if (i % d == c)
  4. cout ‘ ‘ ;

* This source code was highlighted with Source Code Highlighter .

Задача C. Квадраты
Выведите все числа на отрезке от a до b, являющиеся полными квадратами.

  1. int a , b;
  2. cin >> a >> b ;
  3. int sqrt_a = ceil(sqrt(a + 0.0));
  4. int sqrt_b = sqrt(( double )b);
  5. for ( int i = sqrt_a ; i » » ;

* This source code was highlighted with Source Code Highlighter .

В этом случае мы рационально движемся от sqrt(a) к sqrt(b), т.к. проверка меньших и больших значений смысла не имеет.
Нужно обратить внимание, что корень от а округляется в большую сторону ceil(sqrt(a + 0.0) перед отправкой в цикл: если а – и есть полный квадрат, то это число также должно быть выведено, однако, если а дает дробный корень, то его целая часть (при приведении к типу int) даст заведомо меньший квадрат, чем значение а. Поэтому мы заранее округляем sqrt(a) до следующего целого числа, дабы избежать выведение лишнего квадрата.

Варинат 2.
Этот вариант реализации менее рациональный, однако более прозрачный. Мы напрямую движемся от а до b c проверкой полноты квадрата каждого из текущих значений.

Задача H. Делители числа
Выведите все натуральные делители числа x в порядке возрастания (включая 1 и само число).

  1. int x;
  2. cin >> x;
  3. for ( int i = 1 ; i if ( x % i == 0 )
  4. cout ‘ ‘ ;

* This source code was highlighted with Source Code Highlighter .

Задача I. Количество делителей
Подсчитайте количество натуральных делителей числа x (включая 1 и само число; x

  1. int x, k = 0;
  2. cin >> x;
  3. for ( int i = 1; i if (x % i == 0 )
  4. k++;
  5. cout * This source code was highlighted with Source Code Highlighter .

Задача J. Сумма ста
Вычислите сумму данных 100 натуральных чисел. Вводятся 100 чисел, сумму которых необходимо посчитать.

  1. int x;
  2. long long sum = 0;
  3. for ( int i = 1; i > x;
  4. sum += x;
  5. >
  6. cout * This source code was highlighted with Source Code Highlighter .

Задача K. Сумма чисел
Вычислите сумму данных N натуральных чисел. Вводится число N, а затем N чисел, сумму которых необходимо вычислить.

  1. int n, x;
  2. long long sum = 0;
  3. cin >> n;
  4. for ( int i = 1; i > x;
  5. sum += x;
  6. >
  7. cout * This source code was highlighted with Source Code Highlighter .

Задача M. Нули
Вводится число N, а затем N чисел. Подсчитайте, сколько среди данных N чисел нулей.

Задача N. Подсчет чисел
Подсчитайте, сколько среди данных N чисел нулей, положительных чисел, отрицательных чисел. Вводится число N, а затем N чисел. Необходимо вывести сначала число нулей, затем число положительных и отрицательных чисел.

  1. int n, x;
  2. int zero = 0, pos = 0, neg = 0;
  3. cin >> n;
  4. for ( int i = 1; i > x;
  5. if (x == 0) zero++;
  6. else if (x > 0) pos++;
  7. else neg++;
  8. >
  9. cout ‘ ‘ * This source code was highlighted with Source Code Highlighter .

При данной реализации мы каждый раз в цикле прогоняем последовательную проверку числа на знак. Сейчас это не доставляет никаких неудобств, т.к. мы имеем всего 3 критерия подсчета. Однако, если б требовалась более широкая проверка, например, относительно 10-ти различных случаев, то рациональнее было бы использовать сase–структуру. Что и сделано в варианте 2

Вариант 2.
Используем сase–структуру для определения знака, предварительно нормировав ненулевые значения в единицу (1/-1).

Задача O. Ноль или не ноль
Проверьте, есть ли среди данных N чисел нули. Вводится число N, а затем N чисел. Выведите YES, если среди введенных чисел есть хотя бы один нуль, или NO в противном случае.

This source code was highlighted with Source Code Highlighter .

Вариант 2.
Ту же самую идею можно описать короче.

  1. int x, n;
  2. cin >> n;
  3. bool zeroExist = false ;
  4. for ( int i = 1; i > x;
  5. zeroExist = zeroExist | (x == 0);
  6. if (zeroExist)
  7. break ;
  8. >
  9. cout «YES» : «NO» );

* This source code was highlighted with Source Code Highlighter .

Задача P. Уравнение по возрастанию
Вводятся 4 числа: a, b, c и d.
Найдите все целые решения уравнения ax 3 + bx 2 + cx + d = 0 на отрезке [0,1000] и выведите их в порядке возрастания.

  1. long long a , b , c , d ;
  2. cin >> a >> b >> c >> d;
  3. for ( int i = 0; i if ( a*i*i*i + b*i*i + c*i + d == 0)
  4. cout ‘ ‘ ;

* This source code was highlighted with Source Code Highlighter .

Задача Q. Уравнение по убыванию
Вводятся 4 числа: a, b, c и d.
Найдите все целые решения уравнения ax 3 + bx 2 + cx + d = 0 на отрезке [0,1000] и выведите их в порядке убывания.

  1. long long a, b, c, d;
  2. cin >> a >> b >> c >> d;
  3. for ( int i = 1000; i >= 0; i—)
  4. if (a*i*i*i + b*i*i + c*i + d == 0)
  5. cout ‘ ‘ ;

* This source code was highlighted with Source Code Highlighter .

Задача R. Количество решений
Вводятся 5 чисел: a, b, c, d и e.
Найдите все целые решения уравнения ( ax 3 + bx 2 + cx + d ) / ( x — e ) = 0 на отрезке [0,1000] и выведите их количество.

  1. long long a, b, c, d, e;
  2. cin >> a >> b >> c >> d >> e ;
  3. int k = 0;
  4. for ( int i = 0; i if (a*i*i*i + b*i*i + c*i + d == 0)
  5. if (i — e != 0)
  6. k++;
  7. cout * This source code was highlighted with Source Code Highlighter .

Задача S. ГНЧЭ-1
«ГНЧЭ-1» – сложное электронное устройство, выдающее каждую секунду очередное число последовательности 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5. Ввиду дороговизны электронных комплектующих вам поручено разработать эмулятор для этого устройства.
Дано количество секунд (от 1 до 1000000), которые работает генератор после включения. Вывести результат работы генератора

Вариант 1.
При таком варианте реализации мы печатаем столько раз текущее значение cur сколько оно само обозначает count , после чего обнуляем подсчет одинаковых выводов count и переходим на следующее текущее значение cur и т.д.

Вариант 2.
В этом варианте решения идея та же. Однако контроль за количеством отработанных секунд и количеством напечатанных текущих значений возложены на два отдельных цикла.
Итак, здесь мы ведем подсчет напечатанных позиций pos , которых должно быть ровно столько же, сколько секунд работает машина. А внутренним циклом задаем печать текущего числа cur . Проверка условия if (pos == n) не даст задержаться во внутреннем цикле дольше положенных секунд.

  1. int n;
  2. cin >> n;
  3. int pos = 0, cur = 1;
  4. for ( ; pos for ( int i = 0; i «%d » , cur);
  5. pos++;
  6. if (pos == n)
  7. break ;
  8. >
  9. cur++;
  10. >

* This source code was highlighted with Source Code Highlighter .

Источник

Читайте также:  Чем стирать деликатные ткани
Оцените статью