#include <iostream>
<span>#include <iomanip>
</span><span>using namespace std;
</span>// перевод из основания frm в основание 10
<span>void snd(int frm,int* n,char s[]) {
</span><span> int m,p;
</span><span> m=strlen(s);
</span><span> if (m>0) {
</span><span> if (s[m-1]<58) p=s[m-1]-48;
</span><span> else p=s[m-1]-'a'+10;
</span><span> s[m-1]=0; snd(frm,n,s);
</span><span> }
</span><span> else p=0;
</span><span> *n=*n*frm+p;
</span><span>}
</span>// перевод числа n из основания 10 в to
<span>void dsn(int* n,int to,char s[]) {
</span><span> static int k=0;
</span><span> int m;
</span><span> m=*n%to; *n/=to; k++;
</span><span> if (*n>0) dsn(n,to,s);
</span><span> else { s[k]=0; k=0; }
</span><span> if (m<10) s[k]=m+48;
</span><span> else s[k]=m+'a'-10;
</span><span> k++;
</span><span>}
</span><span>int main() {
</span><span> </span><span>
</span> int osns,osnd;
<span> int n=0;
</span><span> char s[30];
</span><span> cout<<"from osn: "; cin>>osns;
</span><span> cout<<"number: "; cin>>s;
</span><span> cout<<"to osn: "; cin>>osnd;
</span><span> snd(osns,&n,s);
</span><span> dsn(&n,osnd,s);
</span><span> cout<<s<<endl;
</span><span> system("pause");
</span><span> return 0;
</span><span>}
from osn: 5
number: 13211
to osn: 16
420
from osn: 16
number: 2f3de
no osn: 6
4051502
</span>
Номер кратен 5 - это строки номер 5, 10, 15 и 20, т.е. от 5 с шагом 5.
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=(20,10);
Writeln('*** Исходный массив ***');
var E:=MatrRandom(m,n,1,99);
E.Println(3); Writeln(3*E.ColCount*'-');
var p:=BigInteger(1);
ForEach var i in Range(4,m-1,5) do
p:=E.Row(i).Where(t->t>4).Aggregate(p,(x,y)->x*y);
Println('Произведение равно',p)
end.
Program n1;
var a,b:integer;
begin
a:=12345;
writeln(a);
for b:=1 to 4 do begin
writeln (a div 10);
a:=a div 10;
end;
end.
program n2;
var a,b,c:integer;
begin
b:=54321;
c:=10000;
writeln(b);
for a:=1 to 4 do begin
writeln(b mod c);
c:=c div 10;
end;
end.
program n3;
var b,a:integer;
begin
a:=54321;
writeln(a);
for b:=1 to 4 do begin
writeln(a div 10);
a:=a div 10;
end;
end.
Y =-44 так как - 22 меньше минус 20 (у отрицательных все наоборот) поэтому y = -22*2 = -44
Вроде б. Хм......
.....ббббббббб ......