У исполнителя Квадратор две команды, которым присвоены номера: 1. возведи в квадрат
2. вычти 2
Первая из них возводит число на экране во вторую степень, вторая вычитает 2. Исполнитель работает только с натуральными числами Составьте алгоритм получения из числа 2 числа 144, содержащий не более 5 команд. В ответе запишите только номера команд.
/*
Методов решения много, самый но длинный - это switch ... case..
Можно было использовать map из STL
*/
#include <iostream>
#include <vector>
#include <sstream>
using namespace std;
int main()
{
int number;
cin>>number;
switch (number){
case 1:
cout<<"Понедельник\n";
break;
case 2:
cout<<"Вторник\n";
break;
case 3:
cout<<"Среда\n";
break;
case 4:
cout<<"Четверг\n";
break;
case 5:
cout<<"Пятница\n";
break;
case 6:
cout<<"Суббота\n";
break;
case 7:
cout<<"Воскресенье\n";
break;
default:
cout<<"Нет дня недели под этим номером";
}
return 0;
}
Краткий гайд:
number - переменная, отвечает за номер дня неделиswitch - case - оператор множественного выбора. Подробнее читаем на cppstudio.com, cppreference.com или других порталах#include <iostream>
#include <string>
using namespace std;
int main()
{
string w;
int b;
string arr;
getline(cin,w);
cin>>b;
cin.ignore();
getline(cin,arr);
if(w == "szyfruj")
{
for(int i=0; i<arr.size(); i++)
{
if(int(arr[i])>=97 && int(arr[i])<=122 || int(arr[i])>=65 && int(arr[i])<=90)
{
if(int(arr[i])>=97 && int(arr[i])<=122)
{
if(int(arr[i])+b>122) arr[i]-=26;
arr[i]+=b;
}
else
{
if(int (arr[i])+b>90) arr[i]-=26;
arr[i]+=b;
}
}
}
}
if(w == "odszyfruj")
{
for(int i=0; i<arr.size(); i++)
{
if(int(arr[i])>=97 && int(arr[i])<=122 || int(arr[i])>=65 && int(arr[i])<=90)
{
if(int(arr[i])>=97 && int(arr[i])<=122)
{
if(int(arr[i])-b<97) arr[i]+=26;
arr[i]-=b;
}
else
{
if(int (arr[i])-b<65) arr[i]+=26;
arr[i]-=b;
}
}
}
}
cout<<arr;
return 0;
}
Объяснение:
код на с++ для примера
пункт со сдвигом букв сам сделаешь
P. S. у меня на 5 они сдвигаются,