Другие языки программирования и технологии
Найдите наибольшее четырехзначное число, которое при делении на любое однозначное число, кроме 1,2и3, дает в остатке 3
Помогите понять правильно ли решил! Найдем наименьшее число, которое делится на 4, 5, 6, 7, 8, 9 без остатка. Это число получится как произведение 57892520. Среди четырехзначных чисел наибольшее число с таким свойством 252037560. Для получения ответа прибавим к этому числу заданный оста-ток и найдем 756037563. и ответ 7563
наименьшее число, которое делится на 4, 5, 6, 7, 8, 9 без остатка
9*8*7*5=2520
если нужно наибольшее четырехзначное то еще *3 (4 много)
и прибавим требуемый остаток +3
2520*3+3=7563
но это не программирование.
9*8*7*5=2520
если нужно наибольшее четырехзначное то еще *3 (4 много)
и прибавим требуемый остаток +3
2520*3+3=7563
но это не программирование.
Порядок величины в задании может быть другим, например не 4, а 9. И делителей может быть не 6, а 50! В этом случае произведение делителей может выйти за пределы, которые не допустимы для заданного типа данных, что приведёт к искажению результата и непредсказуемому поведению программы. Нужно делать циклами и в функции. Например в Си.. .
#include <stdio.h>
#include <conio.h>
#include <math.h>
unsigned search(const unsigned, const unsigned, unsigned *, const size_t);
int main() {
unsigned order_of_magnitude = 4; // Порядок величины
unsigned rest = 3; // Заданный остаток от деления
unsigned suite[] = { 4, 5, 6, 7, 8, 9 }; // Набор делителей
size_t size = sizeof(suite) / sizeof(int);
int result = search(order_of_magnitude, rest, suite, size);
if (result) printf(" Result = %d\n", result);
else printf(" No, an error!\n");
_getch();
return 0;
}
unsigned search(const unsigned _order_of_magnitude, const unsigned _rest, unsigned * _src, const size_t _size) {
unsigned n, m, right, left, result = 0;
if (_src && _size && _order_of_magnitude && _order_of_magnitude < 10 && _rest) {
right = (unsigned)pow(10.0, (int)_order_of_magnitude) - 1;
if (_rest <= right) {
left = (unsigned)pow(10.0, (int)_order_of_magnitude - 1);
for (n = right; n >= left; n--) {
for (m = 0; m < _size; m++) {
if (_rest > n) break;
if (n % _src[m] != _rest) break;
}
if (m == _size) {
result = n;
break;
}
}
}
}
return result;
}
#include <stdio.h>
#include <conio.h>
#include <math.h>
unsigned search(const unsigned, const unsigned, unsigned *, const size_t);
int main() {
unsigned order_of_magnitude = 4; // Порядок величины
unsigned rest = 3; // Заданный остаток от деления
unsigned suite[] = { 4, 5, 6, 7, 8, 9 }; // Набор делителей
size_t size = sizeof(suite) / sizeof(int);
int result = search(order_of_magnitude, rest, suite, size);
if (result) printf(" Result = %d\n", result);
else printf(" No, an error!\n");
_getch();
return 0;
}
unsigned search(const unsigned _order_of_magnitude, const unsigned _rest, unsigned * _src, const size_t _size) {
unsigned n, m, right, left, result = 0;
if (_src && _size && _order_of_magnitude && _order_of_magnitude < 10 && _rest) {
right = (unsigned)pow(10.0, (int)_order_of_magnitude) - 1;
if (_rest <= right) {
left = (unsigned)pow(10.0, (int)_order_of_magnitude - 1);
for (n = right; n >= left; n--) {
for (m = 0; m < _size; m++) {
if (_rest > n) break;
if (n % _src[m] != _rest) break;
}
if (m == _size) {
result = n;
break;
}
}
}
}
return result;
}
Похожие вопросы
- Два двузначных числа, записанных одно за другим, образуют четырехзначное число, которое делится на их произведение.
- найти все семизначные числа, которые делятся на 15 и записываются только цифрами 0 и 1. Составить программу на паскале
- Помогите решить задачу по программированию. Дано четырёхзначное число. Найти: а) сумму его цифр; б) произведение его циф
- два четырёхзначных числа A,B. Вывести все четырёхзначные числа от а до б, запись которых является палиндромо
- Вам даны все целые числа от 1 до N + 1, кроме одного. Найдите отсутствующее число.
- Четырёхзначное число, кратное 22, произведение чисел которого равно 24. Каким образом это вообще можно вычислить?
- Сформировать файл из действительных чисел. Найти: наибольшее из значений модулей компонентов с четными номерами. С++
- Помогите!!! Надо сделать прогу которая сможет найти 30 первых чисел фибоначчи которые кратны 3!!!
- Помогите составить программу : определить количество тысяч, сотен, десятков, единиц в четырёхзначном числе.
- Дано четырехзначное число.