zp2000.cpp

来自「浙江大学acm在线判题器代码集。 本人在浙大acm判题器上的所有代码(心血) 」· C++ 代码 · 共 58 行

CPP
58
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
#include <iostream.h>
int main(int argc, char* argv[])
{
  unsigned int a[22],n;
  int k,i,m;

  k=9;
  a[0]=0;
  for (i=1;i<20;i+=2)
  {
    a[i]=a[i-1]+k;
    a[i+1]=a[i]+k;
    k*=10;
  }

  cin>>n;
  while (n)
  {
    for (i=1;i<20;i++)
      if (n<=a[i])
        break;
    n-=a[i-1];
    m=i;
    k=1;
    for (i=1;i<(m+1)/2;i++)
      k*=10;

    n--;
    cout<<n/k+1;
    for (i=1;i<(m+1)/2;i++)
    {
      k/=10;
      cout<<n/k%10;
    }
    if (m%2) k=10;
    for (i=1;i<m/2;i++)
    {
      cout<<n/k%10;
      k*=10;
    }
    //if (m%2)
    if (m>1) cout<<n/k+1;
    cout<<endl;
    cin>>n;
  }

  return 0;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?