For i = 1 To 9
For j = 1 To 9
s$=String(i*j)
if length(s$)=1 then s$=" "+s$ else if length(s$)=2 then s$=" "+s$
Print s$;
Next j
Print
Next i
End
Результат работы программы:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
Замечание: таблица на самом деле ровная, это тут ширина пробела и ширина цифры различна, поэтому сдвиг.
Разделим таблицу по диагонали слева направо (\).
Давайте будем идти по строчкам (вертикальный столбец 1, 2, 3, 4, ...) и искать, в каких столбцах (горизонтальная строка 1, 2, 3, 4, ...) встречается единичка:
- [1][3]
- [1][4]
- [2][3]
- [3][6]
- [4][5]
- [5][7]
- [5][8]
- [6][7]
- [7][8]
- [7][9]
Всё это значит связь между нумерованными кругами. Мы выписали все связи. Доказать это легко. 1 соединяется и с 3, и с 4, но не соединяется с 2. Так и есть, мы не выписывали пару [1][2]. 5 соединяется с 7 и 8, но не соединяется с 2. Всё так, как мы написали.
Ну ты хоть картинку скинь с этой страницой
{Данная программа переводит любое сочетание символов ASCII в систему счисления заданную пользователем.}
//Pascal ABC.NET v3.0 сборка 1111
var
a,i,b,r,n,j,bug:integer;
s,se,slo,slof:string;
procedure preob(var a,b,n:integer; var se:string);
begin
repeat
b:=a mod n;
a:=a div n;
str(b,se);
s+=se;
until (a<=n-1);
end;
beginreadln(slo);
readln(n);
for j:=1 to length(slo) do
begin;
a:=ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i:=1 to length(s) div 2 do
begin;
se:=s[i];
s[i]:=s[length(s)-i+1];
s[length(s)-i+1]:=se[1];
end;
write(s,'-');
slof:=slof+s;
delete(s,1,length(s));
end;
end.
Пример ввода:
Домашняя работа на завтра.
2
Пример вывода:
11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-
{Таким образом, фразу "Домашняя работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}
Var i,count:integer; begin i:=3; //количество часов count:=1; //количество амеб while i < = 24 do begin count:=count*2; //каждые 3 часа количество амеб удваивается writeln(i,' hours: ',count); //выводим кол-во часов и амеб i:=i+3; end; readln; <span>end.</span>