Răspuns :
//PROBLEMA "PAGINARE",#1002. SOLUTIE DE 100P
#include <iostream>
using namespace std;
int main ()
{
long long n, v, p;
cin>>n;
v=n/792;
// 792 reprezinta numarul cifrelor din care sunt alcatuite numerele de la 1 la 300
n=n%792;
if (n==0)
cout<<v<<" "<<300<<endl;
else
if (n<=9) // cifrele de la 1 la 9
{
v=v+1;
p=n;
cout<<v<<" "<<p<<endl;
}
else
if (n<=189 && n>9) // din cate cifre sunt alcatuite numerele mai mici ca 100 si mai mari sau egal cu 10
{
if ((n+9)%2==0)
{
v=v+1;
p=(n+9)/2;
cout<<v<<" "<<p<<endl;
}
else
cout<<"IMPOSIBIL"<<endl;
}
else
if ( n>189 ) // numarul de cifre a numerelor mai mari ca 100 si mai mici sau egale cu 300
{
if ((n+108)%3==0)
{
v=v+1;
p=(n+108)/3;
cout<<v<<" "<<p<<endl;
}
else
cout<<"IMPOSIBIL"<<endl;
}
return 0;
}
#include <iostream>
using namespace std;
int main ()
{
long long n, v, p;
cin>>n;
v=n/792;
// 792 reprezinta numarul cifrelor din care sunt alcatuite numerele de la 1 la 300
n=n%792;
if (n==0)
cout<<v<<" "<<300<<endl;
else
if (n<=9) // cifrele de la 1 la 9
{
v=v+1;
p=n;
cout<<v<<" "<<p<<endl;
}
else
if (n<=189 && n>9) // din cate cifre sunt alcatuite numerele mai mici ca 100 si mai mari sau egal cu 10
{
if ((n+9)%2==0)
{
v=v+1;
p=(n+9)/2;
cout<<v<<" "<<p<<endl;
}
else
cout<<"IMPOSIBIL"<<endl;
}
else
if ( n>189 ) // numarul de cifre a numerelor mai mari ca 100 si mai mici sau egale cu 300
{
if ((n+108)%3==0)
{
v=v+1;
p=(n+108)/3;
cout<<v<<" "<<p<<endl;
}
else
cout<<"IMPOSIBIL"<<endl;
}
return 0;
}