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

Ребус - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
misterbl95
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 22
10.05.2012, 09:58     Ребус #1
9. Составить алгоритм решения ребуса сыр + сыр = рыба (различные буквы обозначают различные цифры, старшая – не 0).


Нужно сделать как в примере
Пример
*
Составить алгоритм решения ребуса *буква + буква + буква * = слово
(различные буквы обозначают различные цифры, старшая – не 0).
*
* * * * 3.2.Используемые переменные
*
buk * - слагаемое
slo *- *сумма
a[8]- массив цифр
i,j - индексы
r * - вспомогательная переменная для проверки различности цифр.
*
​3.3. Разработка кода программы
*
​В этом ребусе задействовано 8 различных цифр. Пусть им соответствуют элементы одномерного массива. Поставим в соответствие букве б нулевой элемент массива a[0], букве у первый элемент массива a[1], букве к второй элемент массива a[2] и т.д.
​Мы складываем три пятизначных числа и получаем также пятизначное число. Следовательно, элемент a[0] не может быть больше 3. В противном случае, например, при a[0]=4, получим a[0] + a[0] + a[0]=12. И тогда итоговая сумма будет уже шестизначным числом, что не соответствует условию задачи.
​Кроме того, известно, что первая цифра – не 0. Следовательно, a[0] меняется от 1 до 3. И a[5], соответствующая букве с, меняется, начиная с 1. На все остальные цифры не накладываем никаких ограничений и проверяем все возможные варианты от 0 до 9.
​При отыскании подходящего варианта выполняется проверка того, чтобы разным буквам соответствовали разные цифры.
*
*
*
*
*
*
*
*
*
* * * * * 3.4.Текст программы
*
//Ребус
#include<conio.h>
#include<iostream.h>
void main()
{ *int i,j,r;
* long int buk,slo,a[8];
* clrscr();
* for(a[0]=1; a[0]<=3; a[0]++)
* *for(a[1]=0; a[1]<=9; a[1]++)
* * for(a[2]=0; a[2]<=9; a[2]++)
* * *for(a[3]=0; a[3]<=9; a[3]++)
* * * for(a[4]=0; a[4]<=9; a[4]++)
​for(a[5]=1; a[5]<=9; a[5]++)
​ for(a[6]=0; a[6]<=9; a[6]++)
​ *for(a[7]=0; a[7]<=9; a[7]++)
*
​ * * { *buk=a[0]*10000+a[1]*1000+a[2]*100+a[3]*10+a[4];
​slo=a[5]*10000+a[6]*1000+a[7]*100+a[3]*10+a[7];
*
​ * *if(buk*3==slo)
​ * *{ r=0; * * * * * * * * * //Проверка того, что
​ * * *for(i=0; i<8; i++) * * //разным буквам соответствуют
​for(j=i+1; j<8; j++) *//разные цифры
​ *if(a[i]==a[j]) r++;
​ *if(r==0)​cout<<buk<<" + "
​ * * <<buk<<" + "
​ * * <<buk<<" = "
​ * * <<slo<<endl;
​ * *}
​ * * *}
getch();
}
*
*
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2012, 09:58     Ребус
Посмотрите здесь:

ребус Delphi
ребус... Turbo Pascal
Ребус C++
C++ Количество возможных вариантов и ребус
C++ Ребус друг гурд
ребус C++
C++ Ребус
Разгадать ребус C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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