// PascalABC.NET 3.0, сборка 1164 от 11.02.2016 function gcd(a,b:integer):integer; // Нахождение НОД var i: longint; begin while b <> 0 do begin a := a mod b; i := b; b := a; a := i end; Result:=a end;
begin var a:=ReadInteger('a='); var b:=ReadInteger('b='); var nod:=gcd(a,b); if nod>1 then WritelnFormat('Дробь сократима: {0}/{1}={2}/{3}', a,b,a div nod,b div nod) else WritelnFormat('Дробь {0}/{1} несократима',a,b) end.
function gcd(a,b:integer):integer;
// Нахождение НОД
var
i: longint;
begin
while b <> 0 do begin
a := a mod b;
i := b; b := a; a := i
end;
Result:=a
end;
begin
var a:=ReadInteger('a=');
var b:=ReadInteger('b=');
var nod:=gcd(a,b);
if nod>1 then
WritelnFormat('Дробь сократима: {0}/{1}={2}/{3}',
a,b,a div nod,b div nod)
else WritelnFormat('Дробь {0}/{1} несократима',a,b)
end.
Тестовое решение:
a= 23541
b= 335160
Дробь сократима: 23541/335160=59/840
//а
#include <iostream>
using namespace std;
const int n=10;
int main(){
int ar[n];
int arsub[n];
int m=0;
cout<<"Enter m:";
cin>>m;
cout<<"Enter array:"<<endl;
for(int i=0;i<n;i++)
cin>>ar[i];
for(int i=0;i<m;i++)
arsub[i]=ar[i];
for(int i=0;i<n-m;i++)
ar[i]=ar[i+m];
for(int i=0;i<m;i++)
ar[i+(n-m)]=arsub[i];
cout<<"Final array"<<endl;
for(int i=0;i<n;i++)
cout<<ar[i]<<' ';
cin.get();
cin.get();
return 0;
}
//б
#include <iostream>
using namespace std;
const int n=10;
int main(){
int ar[n];
int arsub[n];
int k,k1=0;
cout<<"Enter k:";
cin>>k;
cout<<"Enter array:"<<endl;
for(int i=0;i<n;i++)
cin>>ar[i];
for(int i=n-k;i<n;i++){
arsub[k1]=ar[i];k1++;}
for(int i=n;i>=k;i--)
ar[i]=ar[i-k];
for(int i=0;i<k;i++)
ar[i]=arsub[i];
cout<<"Final array"<<endl;
for(int i=0;i<n;i++)
cout<<ar[i]<<' ';
cin.get();
cin.get();
return 0;
}