Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 5

Решение ребуса "Синус + Синус + Косинус = Тангенс"

30.11.2018, 15:48. Показов 3306. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать на С++ программу, решающую ребус:
СИНУС + СИНУС + КОСИНУС = ТАНГЕНС



Пример: ВАГОН + ВАГОН = СОСТАВ

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
#include <stdio.h>
 
int toDigit(int A[],int a){
      
       int i,n;
       for (i=0, n=a; n!=0; i++, n=n/10);
       int k=i--;                 // Количество цифр
       for (n=a; n!=0; i--, n=n/10)
             A[i]=n % 10;        // Запись остатков в обратном порядке с конца
       return k;
       }
 
void main(){
       int vv;                               // Проверяемое число
       int A1[10],B1[10];                          // Разложение по цифрам ВАГОН и СОСТАВ
       int M[10];                          // Массив признаков = цифра БЫЛА
       for(vv=50000;vv<=99999;vv++){     // Перебор диапазона 5-значных чисел
             toDigit(A1,vv);             // Разложение ВАГОН
             for(int j=0;j<10;j++) M[j]=0;      // Очистить массив признаков
             int retr=0;                                // Признак - повторение цифры
             for(int j=0;j<5;j++){
                    int k=A1[j];                       // Очередная цифра
                    if (M[k]!=0){                      // Цифра уже была
                           retr=1; break;
                           }
                    else M[k]=1;                     // Отметить, что была
                    }
             if (retr) continue;                      // Повторение цифр
             toDigit(B1,2*vv);                     // Разложение СОСТАВ
             if (B1[0]!=B1[2]) continue;       // Нет двух букв С
             if (M[B1[0]]) continue;              // цифра на месте С уже была в ВАГОН
             if (A1[3]!=B1[1]) continue;        // буква О должна быть в ВАГОН
             if (A1[0]!=B1[5]) continue;       // буква В должна быть в ВАГОН
             if (A1[1]!=B1[4]) continue;       // буква A должна быть в ВАГОН
             if (B1[0]==B1[3]                      // цифры на месте С и Т - д.б. разные
                    || M[B1[3]])                       // цифра на месте Т уже была в ВАГОН
                    continue;
             printf("%d+%d=%d\n",vv,vv,2*vv);
             }
       getchar();
       }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2018, 15:48
Ответы с готовыми решениями:

Синус, косинус,тангенс
Извините, мне нужно код на С++ есть ещё фото внизу

Составить программу, выводящую на экран таблицу значений тригонометрических функций синус, косинус, тангенс и котангенс
Составить программу, выводящую на экран таблицу значений тригонометрических функций синус, косинус, тангенс и котангенс для углов от 0 до...

синус и косинус?
нужна программа которая будет считать синус, косинус, тангенс и катангенс! на язике С

3
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 12
21.11.2021, 00:25
Привет! Может у кого то есть решение этой задачи:

Написать на С++ программу, решающую ребус:
СИНУС + СИНУС + КОСИНУС = ТАНГЕНС

Что-то мозг ломаю, но не выходит ничего)

Буду рад даже просто алгоритму - как это все организовать, желательно поподробнее ибо пример выше про вагоны - мне не особо понятен. Спасибо
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
21.11.2021, 02:57
Для начала, С=5.

В продолжение, тут как раз 10 неизвестных, поэтому подойдет и тупо библиотечная функция генерации потока перестановок. Но мы не будем упрощать себе жизнь и напишем кот для общего случая (тем более что генератор для этого пишется в одну строчку, с листомонадским бинтом, если позволите )
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  (defn f [n s r] (if (<= n 0) [r] (mapcat (fn [i] (f (dec n) (disj s i) (conj r i))) s)))
 
  (let [->n #(->> % (str/join "") read-string)
        s 5]
    (->> (f 9 #{0 1 2 3 4 6 7 8 9} [])
         (keep (fn [[i n u c o t a g e]]
                 (when (and (pos? c) (pos? t))
                   (let [sinus (->n [s i n u s])
                         cosinus (->n [c o s i n u s])
                         tangens (->n [t a n g e n s])]
                     (when (= (+ sinus sinus cosinus) tangens)
                       [sinus cosinus tangens])))))))
 
  => ([58725 3958725 4076175])
 
  (= (+ 58725 58725 3958725) 4076175)
 
  => true
PS тем же котом
вагон+вагон=состав: 85679+85679=171358
вагон+вагон+вагон=состав: 94183+94183+94183=282549

А например БАБКА+ДЕДКА+РЕПКА=СКАЗКА имеет несколько решений:
[70750 94950 84650 250350] [90950 74750 84650 250350] [90950 84850 74350 250150] [80850 94950 74350 250150]

Добавлено через 1 час 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
int d[10], v[11];
// 0 s i n u c o t a g e
// 0 1 2 3 4 5 6 7 8 9 10
 
int num(int a, int b, int c, int d, int e, int f, int g, int h) {
    return ((((((v[a]*10 + v[b])*10 + v[c])*10 + v[d])*10 + v[e])*10 + v[f])*10 + v[g])*10 + v[h];
}
 
void check() {
    int s = num(0, 0, 0, 1, 2, 3, 4, 1);
    int c = num(0, 5, 6, 1, 2, 3, 4, 1);
    int t = num(0, 7, 8, 3, 9, 10, 3, 1);
    if (s+s+c == t) std::cout << s << " + " << s << " + " << c << " = " << t << "\n";
}     
 
void f(int n) {
    if (n<=0) { check(); return; }
    for (int i=0; i<10; i++) {
        if (d[i]) continue;
        d[i] = 1;
        v[n] = i;
        f(n-1);
        d[i] = 0;
    }
}
 
int main() { f(10); }
58725 + 58725 + 3958725 = 4076175
2
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 12
21.11.2021, 07:57
Ого, большое спасибо, ваш код на порядок понятнее для начинающего)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.11.2021, 07:57
Помогаю со студенческими работами здесь

С++ синус косинус
Нужно написать программу которая вычисляет y=x^2-sin x+ cos x на С++, помогите пожалуйста!

синус и косинус Ряда Тейлора
нужно задать диапазон до pi/4 что бы в ряде тейлора было меньше сумм помогите оптимизировать #include &lt;iostream&gt; #define...

Как менять синус на косинус и наоборот в цикле
Как менять синус на косинус и наоборот в цикле

Как реализовать функции что бы найти синус, косинус, корень квадратный, степень от числа
Добрый вечер,разрабатываю калькулятор на winapi хотелось бы узнать как реализовать функции что бы найти синус,косинус,корень...

Решение уравнения с синус и кос итп
Y=((arctd(b-a)^2/3)^d+sin(c+d^2))/((e^c-a)^1/2+7,0597*10^(-3)) + (ln^2(a+b)/sin(a-c)+Пи) ребят помоги кто чем может, 1 семестр...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru