Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
2 / 2 / 2
Регистрация: 11.10.2016
Сообщений: 123
1

Получить число удовлетворяющее неравенству

05.02.2019, 01:54. Показов 774. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны два вещественных числа x > 0, y > 1. Получить целое число m, удовлетворяющих неравенству ym-1 < x < ym
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
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
    
    double x, y;
    cout << "x: "; cin >> x;
    if (x <= 0)
    {
        cout << "x > 0, повторите ввод x:"; cin >> x;
    }
    cout << "y: "; cin >> y;
    if (y <= 1)
    {
        cout << "y > 1, повторите ввод y:"; cin >> y;
    }
 
    int m = 0;
    bool flag = false;
 
    while (flag == false)
    {
        if (((y*m) - 1 < x) && (x < y * m))
        {
            cout << "m: " << m;
            flag = true;
        }
        m++;
        
    }
 
 
    system("pause");
    return 0;
}
Что не так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2019, 01:54
Ответы с готовыми решениями:

Получить наибольшее число, удовлетворяющее условие (цикл)
Добрый день, помогите пожалуйста... Дано целое m&gt;1. Получить наибольшее k, при котором верно...

Получить наименьшее целое число удовлетворяющее заданному условию
Дано натуральное число N. Получить наименьшее целое число k, при котором 2K&gt;N. Комментариями...

Получить наибольшее значение удовлетворяющее условию
Добрый вечер обитатели форума,помогите решить задачки с помощью циклов) №2 Дано целое число m&gt;1...

Найти число, удовлетворяющее условию
Доброго времени суток. Есть задача: Найти минимальное число, большее заданного, равное сумме...

3
24 / 21 / 3
Регистрация: 04.11.2014
Сообщений: 283
05.02.2019, 02:21 2
Я немного поменял, но проблема в общем в том, что надо подобрать правильные стартовые числа для этого неравентсва, например x = 1.5 y = 2 все работает

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
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
    
    double x, y;
 
    do 
    {
        cout << "Enter x > 0:"; 
        cin >> x;
    }while (x <= 0);
    
    do 
    {
        cout << "Enter y > 1:"; 
        cin >> y;
    } while (y <= 1);
 
    int m = 0;
 
    while (true)
    {
    
        //cout << y * m - 1 << " < " << x << " < " << y * m << endl; отладка
        if ((y*m - 1 < x) && (x < y * m))
        {
            cout << "m: " << m;
            break;
        }
        m++;
        
    }
 
    system("pause");
    return 0;
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
05.02.2019, 03:55 3
Цитата Сообщение от Elllik Посмотреть сообщение
Получить целое число m, удовлетворяющих неравенству
уточните эти слова условия
0
Мозгоправ
1744 / 1038 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
05.02.2019, 04:23 4
Решаем неравенство ym-1 < x < ym относительно m:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases} & ym - 1 < x  \\  & ym > x\end{cases}\Rightarrow \begin{cases} & m < \frac{x-1}{y}  \\  & m > \frac{x}{y}\end{cases}\Rightarrow \frac{x}{y} < m < \frac{x-1}{y}
Дальше смотрим попадает ли хотя бы одно целое число в диапазон для m.

Реализация несколько избыточная, но, надеюсь, понятная:
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
const char inperr[] = "Неправильное значение. Повторите ввод.\n";
 
const double eps = 1e-12;
 
int main() {
    setlocale(LC_ALL, "Rus");
 
    double x, y;
    bool ok;
    
    do {
        cout << "x: "; cin >> x;
        ok = x > 0;
        if (!ok)
            cout << inperr;
    } while (!ok);
 
    do {
        cout << "y: "; cin >> y;
        ok = y > 1;
        if (!ok)
            cout << inperr;
    } while (!ok);
 
 
    double m1 = x / y;
    double m2 = (x + 1) / y;
 
    cout << "Диапазон для m: " << m1 << ".." << m2 << endl;
 
    double m1c = ceil(m1);
    double m2f = floor(m2);
 
    if (m1c <= m2f && m1c + eps < m2 && m2f > m1 + eps) {
        cout << ceil(m1) << endl;
        cout << y * ceil(m1) - 1 << " < " << x << " < " << y * ceil(m1) << endl;
    }
    else
        cout << "Решения нет." << endl;
 
    //system("pause");
    return 0;
}
0
05.02.2019, 04:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2019, 04:23
Помогаю со студенческими работами здесь

Найдите наименьшее натуральное число удовлетворяющее условию
Найдите наименьшее натуральное число n, такое, что делится на 2n-2, но не делится на 3n-3.

Найти по числу z число x удовлетворяющее заданному условию
Найти по числу z число x такое, что z = (2x +1)*2^y для некоторого y. Использовать...

Найти минимальное целое число x удовлетворяющее равентству x/a-x/b=c
Помогите оптимизировать код на С ++ #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace...

Найти наименьшее однозначное число "х", удовлетворяющее условию
Текст задачи: Найти наименьшее однозначное число &quot;х&quot;, удовлетворяющее условию: х*х*х-х*х=n ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru