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

За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. - C++

Восстановить пароль Регистрация
 
dimakozyr
 Аватар для dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
17.11.2013, 23:32     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #1
Понимаю, что оффтоп, но задача для острого программерского ума.
Олимпиадная задача для 7 класса, условие:

Есть 5 монет. 4 из них по 5 грамм, пятая - неизвестно (либо больше, либо меньше пяти - это неизвестно).
Есть грузик на 5 грамм. За 2 взвешивания определить, где монета, которая НЕ 5 грамм.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2013, 23:32     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных.
Посмотрите здесь:

Програма которая считутет текст с файла и виводит на екран предложения которая имеет найбольше количество знаков пробелов. C++
Среди 13 монет есть одна отличающаяся по весу, за 3 взвешивания на чашечных весах найти ее C++
Два треугольника заданы координатами своих вершин A,B,C. Вычислить площадь треугольника и определить какой треугольник имеет большую площадь C++
C++ Найти два таких два таких элемента, разность модулей которых имеет максимальное значение
C++ Дана информация о пяти квартирах. Запись имеет вид: фамилия владельца, площадь, число комнат, этаж. Вывести данные о квартирах
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
n0n4m3r
23 / 23 / 6
Регистрация: 12.10.2013
Сообщений: 183
17.11.2013, 23:40     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #2
3 + 2+гиря.

Что перевесит - перевзвесить, если равно, то монета не 5гр там, где снятая кучка.
dimakozyr
 Аватар для dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
17.11.2013, 23:42  [ТС]     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #3
Сложность в том, что неизвестно - легче неизвестная монета, или тяжелее
zewer
 Аватар для zewer
1018 / 709 / 71
Регистрация: 07.01.2011
Сообщений: 5,356
17.11.2013, 23:45     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #4
Цитата Сообщение от n0n4m3r Посмотреть сообщение
3 + 2+гиря.

Что перевесит - перевзвесить, если равно, то монета не 5гр там, где снятая кучка.

Не по теме:

Вы куратор вовсиркла?

Zazy
 Аватар для Zazy
37 / 37 / 11
Регистрация: 14.04.2013
Сообщений: 167
18.11.2013, 00:25     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #5
2 2 1+гиря ,все сравнит ,найти группу отличающуюся от двух остальных ,сравнит каждый элемент с гирей

Добавлено через 7 минут
Поправка не с каждым а с любым элементом из этой пары
dimakozyr
 Аватар для dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
18.11.2013, 00:29  [ТС]     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #6
Цитата Сообщение от Zazy Посмотреть сообщение
2 2 1+гиря ,все сравнит ,найти группу отличающуюся от двух остальных ,сравнит каждый элемент с гирей
Вот:
Цитата Сообщение от dimakozyr Посмотреть сообщение
За 2 взвешивания
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
18.11.2013, 00:54     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #7
х-м
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
18.11.2013, 01:30     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #8
если задача сказать ГДЕ монета, а не КОТОРАЯ из монет, то можно сказать и без взвешиваний - она в куче из этих 5ти монет)
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
18.11.2013, 01:40     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #9
Цитата Сообщение от Cra3y Посмотреть сообщение
если задача сказать ГДЕ монета, а не КОТОРАЯ из монет, то можно сказать и без взвешиваний - она в куче из этих 5ти монет)
Вы правы, нужна точная формулировка задачи.
Zazy
 Аватар для Zazy
37 / 37 / 11
Регистрация: 14.04.2013
Сообщений: 167
18.11.2013, 01:53     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #10
Так же 2 2 1+гиря, сравниваем 1+гиря с одной парой, если одинаковы то монетка в другой паре тогда сравниваем гирю с любой монеткой другой пары и находим искомую. Если вес разный тогда :
пример 1-гиря и 2-3 если правая часть тяжелее тогда меня местами монетку 1 с монеткой 2(или 3),2-гиря и 1-3
если осталось так же правая часть тяжелее то искомая монетка 3
если левая часть перевешивает то искомая монетка попадает на место 1
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
18.11.2013, 02:13     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #11
Цитата Сообщение от Zazy Посмотреть сообщение
тогда меня местами монетку 1 с монеткой 2(или 3),2-гиря и 1-3
если осталось так же правая часть тяжелее то искомая монетка 3
если левая часть перевешивает то искомая монетка попадает на место 1
это уже 3-е сравнение, нет?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.11.2013, 02:30     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #12
Цитата Сообщение от Jupiter Посмотреть сообщение
это уже 3-е сравнение, нет?
Взвешивания два.
Цитата Сообщение от Zazy Посмотреть сообщение
1-гиря и 2-3 если правая часть тяжелее тогда меня местами монетку 1 с монеткой 2(или 3),2-гиря и 1-3
Цитата Сообщение от dimakozyr Посмотреть сообщение
За 2 взвешивания определить,
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
18.11.2013, 03:16     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #13
Цитата Сообщение от Zazy Посмотреть сообщение
Так же 2 2 1+гиря, сравниваем 1+гиря с одной парой, если одинаковы то монетка в другой паре тогда сравниваем гирю с любой монеткой другой пары и находим искомую. Если вес разный тогда :
пример 1-гиря и 2-3 если правая часть тяжелее тогда меня местами монетку 1 с монеткой 2(или 3),2-гиря и 1-3
если осталось так же правая часть тяжелее то искомая монетка 3
если левая часть перевешивает то искомая монетка попадает на место 1
есть изъян в этой логике
последняя фраза: "если левая часть перевешивает то искомая монетка попадает на место 1"
если после того, как мы поменяли монетку 1 с монеткой 2, левая сторона стала перевешивать, это может значить:
а) монетка 2 - искомая. И ее вес больше 5 грамм
б) монетка 1 - искомая. И ее вес меньше 5 грамм
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11827 / 6806 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
18.11.2013, 04:27     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #14
Цитата Сообщение от dimakozyr Посмотреть сообщение
Сложность в том, что неизвестно - легче неизвестная монета, или тяжелее
зато известно что она отличается по весу!

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
#include <iostream>
 
 
int foo ( int x [ 6 ] ) {
    int rez1 = ( x [ 1 ] + x [ 2 ] ) - ( x [ 0 ] + x [ 3 ] ) ; //1
    int rez2 ;
    if ( rez1 == 0 ) {
        rez2 = ( x [ 1 ] + x [ 4 ] ) - ( x [ 0 ] + x [ 3 ] ) ; //2
        if ( rez2 == 0 ) {
            return 5 ;
        } else {
            return 4 ;
        }
    } else {
        rez2 = ( x [ 2 ] + x [ 3 ] ) - ( x [ 0 ] + x [ 5 ] ) ; //2
        if ( rez2 == 0 ) {
            return 1;
        } else {
            if ( rez1 == rez2 ) {
                return 2 ;
            } else {
                return 3 ;
            }
        }
    }
    return 0 ;
}
 
 
 
int main(){
    int x [ 6 ] = { 5 , 5 , 5 , 2 , 5 , 5 } ;
    std :: cout << foo ( x ) << std :: endl ;
}
x [ 0 ] - всегда гиря!
Цифрами обозначены взвешивания.
Функция foo возвращает номер фальшивой монеты ( индекс в массиве )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2013, 05:11     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных.
Еще ссылки по теме:

Рис расфасован в два пакета. Вес первого - m кг, второго – n кг C++
C++ Написать программу с функцией, которая вычисляет оптимальный вес пользователя
C++ Определить количество различных комбинаций монет, которые могут сложиться в определенную сумму

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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
18.11.2013, 05:11     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных. #15
Cra3y, а мне кажется, задача не на то, чтоб умничать и выпендриваться
Yandex
Объявления
18.11.2013, 05:11     За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных.
Ответ Создать тему
Опции темы

Текущее время: 21:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru