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

rezolvare problema jumatate(#442) din pbinfo si rezolvare problema culegere1 (#1723) pbinfo

Răspunsuri la întrebare

Răspuns de boiustef
6

---- 442 ----------------------------

#include <iostream>

using namespace std;

int main()

{

   int n, a=0, b=0, va, m, ncif=1, i, z;

   cin >> n;

   m=n;

   while (m>9)

   {

       ++ncif; m/=10;

   }

   z=1;

   for (i=1; i<=ncif/2; ++i) z*=10;

   if (ncif%2==0) {  a=n/z; b=n%z; }

   else {  a=n/z; b=n%z; a=a/10; }

   va=a-b; if (va<0) va=-va;

   cout << va << "\n";

   return 0;

}

-------------------1723 ---------------------------

#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