Объяснение:
Синтаксис могу плохо помнить:
#include <iostream>
using namespace std;
int main(void){
int x,y,i,N;
cin>>N;
for(i=0;i<N;i++){
cin>>x>>y;
if(x==y) cout<<"2";
else cout<<"1";
}
return 0;
}
Выигрышная стратегия-постоянно уравнивать большее число к меньшему, так игра в конечном итоге сведётся для оппонента к проигрышной позиции (1,1) при оптимальной игре каждого игрока. Так, получается что позиции с равными числами заведомо проигрышные, а с разными-выигрышные для игрока, делающего ход.
var d, n, s: integer;
begin
readln(n);
s:=0;
d:=1;
while(d<=n) do
begin
if(n mod d = 0) then
begin
s:=s+d;
writeln(d);
end;
d:=d+1;
end;
writeln(s);
end.