Informatică, întrebare adresată de esfbewhfb, 8 ani în urmă

Rezolvare problema de informatica culegere1 din pbinfo

Răspunsuri la întrebare

Răspuns de boiustef
1

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("culegere.in");

ofstream g("culegere.out");

long long p, n, t, m, a, b, ult,i, z1;

int main()

{

   f >> p >> n;

    if (p%2) a=((p-1)/2)*p+1;

           else a=(p/2)*(p-1)+1;

           b=a+p-1;

     ult=b;

     long long z=1, nr=1;

     while (b>9)

     {

         z=z*10; ++nr; b/=10;

     }

     b=ult;

     if (b<10) t=b;

     else

     {

       i=2; z1=90; t=0;

       while (i<nr)

       {

           t=t+i*z1;

           z1*=10; ++i;

       }

       t=9+t+(ult-z+1)*nr;

     }

     if (n==1) { m=1; }

      else

      {

          b=0; m=0;

          while (n>b)

          {

              ++m; b+=m;

          }

      }

      g << t << "\n";

      g << m;

   return 0;

}

Alte întrebări interesante