Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Poma_095
0 / 0 / 0
Регистрация: 14.03.2014
Сообщений: 23
#1

Сколько существует способов составить отрезок длиной 1 метр? - C++

24.04.2014, 11:37. Просмотров 756. Ответов 10
Метки нет (Все метки)

Сколько существует способов составить отрезок длиной 1 метр из отрезков длиной А и В см?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2014, 11:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сколько существует способов составить отрезок длиной 1 метр? (C++):

Сколько существует способов расставить между цифр знаки "+" и "-" - C++
Вот сама задача - {удалено} Не могу сделать норм перебор

Сколько есть способов выплатить сумму - C++
В Эстонии в обращении находятся 1,2,5,10,25,50,100 и 500 - кроновые купюры. Написать программу, которая сможет найти сколько есть...

Сколько различных способов есть у зайца добраться до вершины лестницы? - C++
В нашем зоопарке появился заяц. Его поместили в клетку, и чтобы ему не было скучно, директор зоопарка распорядился поставить в его клетке...

Сколько возможных комбинаций из 4х символов длиной в 5 - C++
Сколько возможных комбинаций из 10и символов в строке длиной в 5 символов, с условием, что одинаковых в строке не больше 3х, а одинаковых...

Сколько палиндромов длиной n можно образовать из 26 букв - C++
Сколько палиндромов длиной n можно образовать из 26 букв Подскажите, как можно реализовать? Идей нет... Может ввести массив из...

Найти сколько раз символ & в строку символов длиной 70 - C++
Найти сколько раз символ & в строку символов длиной 70...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
24.04.2014, 13:06 #2
C++
1
2
3
4
5
6
7
int kol;
if(A+B<1)
       kol=0;
else if(A>1 || B>1)
      kol=0;
else
     kol=1;
Можно и покороче
C++
1
2
3
int kol=0;
if(A+B>=1 && A<=1 && B<=1)
      kol=1;
0
newbie666
Заблокирован
24.04.2014, 13:10 #3
гуглплекс вариантов. Такой ответ устраивает?
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
24.04.2014, 13:12 #4
Цитата Сообщение от newbie666 Посмотреть сообщение
гуглплекс вариантов
А почему так много?
0
newbie666
Заблокирован
24.04.2014, 13:28 #5
Цитата Сообщение от zss Посмотреть сообщение
А почему так много?
это не много, правильный ответ - бесконечное кол-во вариантов, у тебя же не заданны конкретные длинны отрезков А и B ? Существует бесконечное кол-во вариаций сумм их длин, дающих 1 метр
0
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 202
24.04.2014, 13:51 #6
как-то так:
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
#include <iostream>
 
int gcdex(int a, int b, int &x, int &y) {
    if (b == 0) {
        x = 1;
        y = 0;
        return a;
    }
    int x1, y1;
    int d1 = gcdex(b, a % b, x1, y1);
    x = y1;
    y = x1 - (a / b) * y1;
    return d1;
}
int main ()
{
    int a, b, xg, yg, g;
    int c = 100;
 
    std::locale::global(std::locale("Russian"));
    std::cout << "Введите длинну A: ";
    std::cin >> a;
    std::cout << "Введите длинну B: ";
    std::cin >> b;
 
    g = gcdex(a,b,xg,yg);
    int x0 = xg * c / g;
    int y0 = yg * c / g;
 
    int k_min = static_cast<int>(-1.0 * x0 * g / b + 1.0);
    int k_max = static_cast<int>(1.0 * y0 * g / a); 
 
    if(c % g == 0){
        std::cout << "Количество решений: " << k_max - k_min + 1 << std::endl;
        std::cout << "Решения: " << std::endl;
        for(int k = k_min; k <= k_max; k++) {
            int xk = x0 + k * b / g;
            int yk = y0 - k * a / g;
            std::cout << '\t' << xk << " A; " << yk << " B" << std::endl;
        }
    } else {
        std::cout << "Решений нет" << std::endl;
    }
 
    system("pause");
}
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
24.04.2014, 14:04 #7
Цитата Сообщение от newbie666 Посмотреть сообщение
Существует бесконечное кол-во вариаций сумм их длин, дающих 1 метр
Это если отрезки можно ломать (но тогда они не являются отрезками указанной длины).
Если их рассматривать как две палочки, приставляемые друг к другу,
то существует только 2 варианта - либо получится один метр, либо не получится.
0
newbie666
Заблокирован
24.04.2014, 14:18 #8
Цитата Сообщение от zss Посмотреть сообщение
то существует только 2 варианта - либо получится один метр, либо не получится.
ахах ну если вопрос в этом....
Тут то вроде ТС спрашивал про варианты с длинной отрезков.... Думаю по задумке ему вообще нужно что то вроде того:
Подсчитать кол-во вариантов сложения двух отрезков различной длинны, дающих в сумме 1 метр, приняв, что длинна любого из отрезков кратна 1-у сантиметру
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
24.04.2014, 14:21 #9
М-даа. Это к вопросу о корректной постановке задачи.
Но судя по тому, что A и B заданы, мой вариант более правдоподобен.
Жаль, что ТС отмалчивается.....
0
newbie666
24.04.2014, 14:47
  #10

Не по теме:

Цитата Сообщение от zss Посмотреть сообщение
Жаль, что ТС отмалчивается.....
да он уже побежал получать двойку в универ, скопировав на флешку первый попавшийся вариант ахахах, ему ж даже не важно, что в этом варианте написано

0
Poma_095
0 / 0 / 0
Регистрация: 14.03.2014
Сообщений: 23
25.04.2014, 14:45  [ТС] #11
А и В это числа вводимые с клавиатуры. Тобишь я могу ввести 25 и 50 и результат работы должен быть 3
Тк можно сложить 25 50 25 потом 25 25 50 и 50 25 25
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2014, 14:45
Привет! Вот еще темы с ответами:

Составить программу, которая, по данным N и K, вычисляет количество способов группировки K предметов из N - C++
1. Составить программу, которая, по данным N и K, вычисляет количество способов группировки K предметов из N, выражающееся формулой C(n,k)...

Сколько существует чисел в интервале без дубликатов цифр - C++
Есть интервал , 1 &lt;= l &lt; r &lt;= 10^18. Условие - отсутствие дублированных цифр: 101 - имеет две 1 - не подходит; 123 - не имеет...

Сколько существует мирных множеств натуральных чисел силы n? - C++
Группа математиков проводит бои между натуральными числами. Результаты боя между двумя натуральными числами, вообще говоря, случайны,...

Определить, сколько существует различных раскрасок полоски из N клеток - C++
Решаю задачу условие на картинке, написал код идею вроде понял, не могу понять почему проходит лишь на частичный балл, помогите...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.04.2014, 14:45
Ответ Создать тему
Опции темы

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