Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Taras_Z
101 / 85 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
1

Количество различных рациональных чисел которые можно получить роставляя скобки

27.10.2012, 15:42. Просмотров 1347. Ответов 12
Метки нет (Все метки)

Обозначим i-е простое число как Рi (Р1=2, Р2=3, Р3=5 и т.д.). Для данного числа n рассмотрим выражение: Р1 / Р2 / Р3 / ... / Рn. Напишите программу, подсчитывающую количество различных рациональных чисел, которые можно получить, расставляя в данном выражении скобки. Например, если n=4, то таких чисел будет тоже 4: (((2/3)/5)/7 = 2/105, 2/(3/(5/7)) = 10/21, (2/3)/(5/7) = 14/15 и 2/((3/5)/7) = 70/3.
Программа Second читает с клавиатуры целое число n (от 2 до 100) и выводит на экран количество различных возможных рациональных чисел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 15:42
Ответы с готовыми решениями:

Найти количество различных чисел, которые можно получить из числа ровно за C команд
#include <iostream> using namespace std; int c(int x, int y) { if (x == y...

Найти сколько различных трехзначных чисел можно получить из заданного числа n путем вычеркивания цифр
Задача: найти сколько различных трехзначных чисел можно получить из заданного...

Алгебра: Есть массив чисел и число f, надо определить, можно ли получить f, складывая любое количество чисел из массива
Есть массив чисел и число f, надо определить, можно ли получить f, складывая...

Дана последовательность чисел. Найти количество различных чисел в этой последовательности
Дана последовательность чисел. Найти количество различных чисел в этой...

Дана последовательность чисел. Найти количество различных чисел в этой последовательности
Дана последовательность чисел. Найти количество различных чисел в этой...

12
CEBEP
107 / 107 / 23
Регистрация: 21.03.2010
Сообщений: 445
27.10.2012, 16:26 2
только количество или сами числа тоже?

Добавлено через 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
#include <iostream>
 
bool isSimplify(unsigned n)
{
    if (n < 2)
    {
        return !true && !false;
    }
    unsigned i = n;
    do
    {
        --i;
    }
    while (n % i);
    return i == 1;
}
 
void main()
{
    const unsigned N = 100;
    unsigned simplify[N];
    unsigned k = 0;
    for (unsigned i = 0; i != N; ++i)
    {
        while (!isSimplify(k))
        {
            ++k;
        }
        simplify[i] = k++;
    }
    std::cout << "Insert n: ";
    unsigned n;
    std::cin >> n;
 
}
дальше стало надо уходить... мб пригодится.
0
Taras_Z
101 / 85 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
27.10.2012, 21:01  [ТС] 3
записать простие числа я и сам могу
как посмотреть все варианти положение скобок???
0
CEBEP
107 / 107 / 23
Регистрация: 21.03.2010
Сообщений: 445
27.10.2012, 22:18 4
Код
(1(1(1(11
(1(1((111
(1((1(111
((1(1(111
(1((11(11
((1(11(11
((11(1(11
(1(((1111
((1((1111
(((1(1111
((((11111
0
valeriikozlov
Эксперт С++
4686 / 2512 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
28.10.2012, 00:19 5
Цитата Сообщение от Taras_Z Посмотреть сообщение
Каждый настоящий программист подтвердит, что при помощи десяти пальцев на руках можно сосчитать не только до 10, но и до 1024!

Не по теме:

Значит "настоящие программисты" реально не считали на пальцах. Можно только до 1023

2
Garic_
72 / 72 / 5
Регистрация: 03.11.2009
Сообщений: 488
28.10.2012, 09:33 6
Taras_Z, Сначала записываешь в массив P свои примеры, а потом в цикле считываешь P[i] и сравниваешь if(P[i] == СкобкаЛевая){...}
0
Taras_Z
101 / 85 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
28.10.2012, 11:07  [ТС] 7
не совсем понял
0
CEBEP
107 / 107 / 23
Регистрация: 21.03.2010
Сообщений: 445
28.10.2012, 11:08 8
http://neerc.ifmo.ru/wiki/index.php?...81%D1%82%D0%B8
0
Garic_
72 / 72 / 5
Регистрация: 03.11.2009
Сообщений: 488
28.10.2012, 13:12 9
String find[100][100];

C++
1
2
3
4
5
6
7
8
9
10
for (int i=0; i <= RichEdit1->Lines->Count-1; i++)//êîëè÷. ñòðîê (Г’ГҐГЄГ±ГІ ïåðåâîäГ*)
  {//1Г© öèêë ïðîáåã ГЇГ® ñòðîêГ*Г¬
       S = RichEdit1->Lines->Strings[i]; //В№ ñòðîêè
              DSR1 = S.Length(); //S.Length() - äëèГ*Г* ñòðîêè
DSR1=Trim(DSR1);
        for (int j=1; j<=DSR1; j++)
        {//2Г© öèêë ïðîáåã Гў ñòðîêå
           find[i][j] = RichEdit1->Lines->Strings[i][j];
           if (find[i][j] == ТутСавниваешь свои скобки)
      {здесь выводишь результат}
Что то воде того
0
Taras_Z
101 / 85 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
28.10.2012, 14:04  [ТС] 10
Спасибо но я уже сделал по другому
0
valeriikozlov
Эксперт С++
4686 / 2512 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
28.10.2012, 16:37 11
Taras_Z, если результат нужен только такой:
Цитата Сообщение от Taras_Z Посмотреть сообщение
Напишите программу, подсчитывающую количество различных рациональных чисел, которые можно получить, расставляя в данном выражении скобки.
то это количество будет таким: 2^(n-2)
0
Андрей1992
0 / 0 / 1
Регистрация: 13.06.2012
Сообщений: 60
29.10.2012, 11:39 12
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Taras_Z, если результат нужен только такой:
то это количество будет таким: 2^(n-2)
А как выводится если не секрет?
0
valeriikozlov
Эксперт С++
4686 / 2512 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
29.10.2012, 18:29 13
Цитата Сообщение от Андрей1992 Посмотреть сообщение
А как выводится если не секрет?
секрет, но не очень. Надеюсь что в само задание вникли.
Рассмотрим еще раз выражение:
Цитата Сообщение от Taras_Z Посмотреть сообщение
Р1 / Р2 / Р3 / ... / Рn.
Можно заметить, что как скобки не расставляй P1 всегда будет наверху (в числителе). И P2 всегда будет внизу (в знаменателе).
А вот все остальные Pi можно с помощью скобок расположить и сверху (в числителе) и внизу (в знаменателе), независимо от того как соседнее P расположено. Т.е. начиная от P3 и до Pn могут быть или сверху или снизу. Немного комбинаторики и получается: 2^(n-2)
К примеру:
Цитата Сообщение от Taras_Z Посмотреть сообщение
2/((3/5)/7) = 70/3
Можно было записать и так: 2/(3/5/7) = 70/3. Хотя вариант расположения скобок разный, но в задаче нужно посчитать не количество вариантов расположения скобок, а:
Цитата Сообщение от Taras_Z Посмотреть сообщение
Количество различных рациональных чисел которые можно получить роставляя скобки
рациональные числа в обоих случаях одинаковы.
0
29.10.2012, 18:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 18:29

Определить количество различных комбинаций монет, которые могут сложиться в определенную сумму
Напишите программу, которая определяет количество различных комбинаций монет,...

Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран
Задание: Дана строка. Подсчитать количество различных символов, которые не...

Задан массив K(m) попарно различных целых чисел. Получить все перестановки целых чисел
Помогите пожалуйста с программой. Задан массив K(m) попарно различных целых...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru