1 / 1 / 0
Регистрация: 08.09.2015
Сообщений: 81
1

Найти ближайшее целое к первому числу, которое делится на второе число без остатка

27.09.2015, 13:49. Показов 6053. Ответов 7
Метки нет (Все метки)

Пользователь вводит два числа. Определить, делится одно число на второе без остатка. Если нет, предложить ближайшее целое, которое удовлетворяет этому условию. Буду очень благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2015, 13:49
Ответы с готовыми решениями:

Найти ближайшее целое число к данному числу, которое делится на второе число без остатка
Пример 1. Есть числа 35 и 14. 35 не делится на 14 без остатка, поэтому ищем ближайшее целое число...

Определить ближайшее четное число меньше заданного числа N, которое делится на 7 без остатка
помогите плез

Определить ближайшее нечетное число меньше заданного числа N, которое делится на 13 без остатка
Определить ближайшее нечетное число меньше заданного числа N, которое делится на 13 без остатка.

Определить для числа ближайшее (сверху), которое делится на 5 и 7 без остатка
Привет, сново я =) Задали вторую задачку, скозали лёгкая, только вот не могу справиться с ней. ...

7
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
27.09.2015, 14:02 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{
    int dig_1;
    int dig_2;
    cout<< "Enter two digits" << endl;
    cin>>dig_1;
    cin>>dig_2;
    while(!(dig_1%dig_2==0))
    {
        dig_2++;
    }
    cout<< "Next INT is :" << dig_2 << endl;
    cout<< "Result: " << dig_1/dig_2 << endl;
}
Как-то так?
1
Dimension
593 / 461 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
27.09.2015, 14:09 3
ближайшее может быть не только спереди ,но и сзади ,например для 15 и 6 и у вас выведет 15 ,а надо бы 5
1
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
27.09.2015, 14:39 4
Лучший ответ Сообщение было отмечено Кениро как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
using namespace std;
 
void getNextInt(int first_int, int second_int)
{
    int second_int_tmp = second_int;
    int count_p=0;
    int count_n=0;
    while(!(first_int%second_int==0))
    {
            second_int++;
            count_p++;
    }
    while(!(first_int%second_int_tmp==0))
    {
            second_int_tmp--;
            count_n++;
    }
    if(count_p<count_n)
    {
        if(count_p>0 && count_n>0)
        {
            cout<< "Next INT is : " << second_int << endl;
            cout << "Result: " << first_int/second_int << endl;
        }
        else
        {
            cout << "Result: " << first_int/second_int << endl;
        }
    }
        
    else
    {
        if(count_p>0 && count_n>0)
        {
            cout<< "Next INT is : " << second_int_tmp << endl;
            cout << "Result: " << first_int/second_int_tmp << endl;
        }
        else
        {
            cout << "Result: " << first_int/second_int_tmp << endl;
        }
    }
}
 
int main()
{
    int dig_1;
    int dig_2;
    cout<< "Enter two digits:" << endl;
    cin>>dig_1;
    cin>>dig_2;
    getNextInt(dig_1,dig_2);
}
Это конечно "код" еще тот :\ но на скорую руку да еще и в воскресный день...



З.Ы: При желании можно добавить проверку "деления на ноль" в начале функции:

C++
1
2
3
4
5
    if(second_int==0)
    {
        cout << "Division by zero!!!" <<endl;
        exit(1);
    }
1
2644 / 2220 / 239
Регистрация: 03.07.2012
Сообщений: 8,064
Записей в блоге: 1
27.09.2015, 14:45 5
Берешь остаток от деления и смотришь, больше он половины второго числа (делителя) или нет.
1
Эксперт С++
1672 / 1044 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
27.09.2015, 15:01 6
Такие вещи можно вычислить без циклов.
C++
1
cout << dig_2 * ((dig_1 + dig_2 / 2) / dig_2);
2
1 / 1 / 0
Регистрация: 08.09.2015
Сообщений: 81
27.09.2015, 15:53  [ТС] 7
Спасибо. У меня только один вопрос к ThePlague. Я правильно понял если числа не делятся Next INT предлагает ближайшее целое на которое можно подилить?
0
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
27.09.2015, 18:15 8
да все верно
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.09.2015, 18:15
Помогаю со студенческими работами здесь

Найти наибольшее число M (M>1) на которое сумма цифр числа N делится без остатка.
Дано натуральное число N. Найти наибольшее число M (M&gt;1) на которое сумма цифр числа N делится без...

Найти минимальное число, большее N, которое без остатка делится на k (k, N - натуральные числа)
C# Пример - Введите числа N и K: 297 19 Найденное число равно 304

Найти наибольшее число, которое делится на сумму цифр числа n без остатка
Помогите решить пожалуйста Дано натуральное число n. Найти наибольшее число M(N&lt;M&lt;2N), которое...

Найти минимальное число, большее N, которое без остатка делится на k (k, N - натуральные числа)
Найти минимальное число, большее N, которое без остатка делится на k (k, N - натуральные числа)


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru