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

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

27.10.2012, 15:42. Просмотров 1335. Ответов 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++):

Найти количество различных чисел, которые можно получить из числа ровно за 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
100 / 84 / 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
Эксперт С++
4683 / 2509 / 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
100 / 84 / 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
100 / 84 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
28.10.2012, 14:04  [ТС] #10
Спасибо но я уже сделал по другому
0
valeriikozlov
Эксперт С++
4683 / 2509 / 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
Эксперт С++
4683 / 2509 / 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) попарно различных целых...

Найти количество различных чисел
Найти количество различных чисел среди элементов данного массива. Рекомендации:...

Сколько различных натуральных чисел можно составить из цифр 0, 1, 2, 3, 4, 5,
Сколько различных натуральных чисел можно составить из цифр 0, 1, 2, 3, 4, 5,...


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

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

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