У исполнителя Альфа две команды, которым присвоены номера: 1. прибавь 1
2. умножь на b
(b - неизвестное натуральное число; b ≥ 2) Выполняя первую из них, Альфа увеличивает число на экране на 1, а выполняя вторую, умножает это число на b. Известно, что программа 11221 переводит число 4 в число 217. Определите значение b.
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
uses graphABC;
var n,da,db,x1,y1,x2,y2:integer;
begin
repeat
write('Введите количество точек от 2 до 50 n=');
readln(n);
until n in [2..50];
clearwindow;
da:=(windowwidth-100)div (n-1);//расстояние между точками ввверху
db:=da div 4;//то же внизу
if odd(n) then//если n нечетное
begin
x1:=windowwidth div 2-da*(n div 2);
x2:=windowwidth div 2-db*(n div 2);
end
else //если четное
begin
x1:=windowwidth div 2-da*(n div 2-1)- da div 2;
x2:=windowwidth div 2-db*(n div 2-1)- db div 2;
end ;
y1:=50;
y2:=windowheight-50;
for var i:=0 to n-1 do
line(x1+i*da,y1,x2+i*db,y2);
line(x1,y1,x1+(n-1)*da,y1);
line(x2,y2,x2+(n-1)*db,y2);
end.
Объяснение:
#include <iostream>
#include <string>
using namespace std;
string fn(unsigned value, unsigned base) {
static string box;
if (!value) {
auto x = box;
box.clear();
return string(x.rbegin(), x.rend());
}
box += to_string(value % base);
value /= base;
return fn(value, base);
}
int main() {
unsigned base, value;
cin >> base >> value;
auto result = fn(value, base);
cout << value << "(10)=" << result << "("<< base << ")\n";
system("pause > nul");
}