zp1095_b.cpp

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

CPP
52
字号
//---------------------------------------------------------------------------

#pragma hdrstop

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

#pragma argsused
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int doit(int n,int b)
{
  while (n%b==0) n/=b;
  return n;
}
string str(int n)
{
  if (n%10==1)
    return "st";
  else
    if (n%10==2)
      return "nd";
    else
      if (n%10==3)
        return "rd";
      else return "th";
}
int main(int argc, char* argv[])
{
  ofstream fout("out1095.txt");
  int i,s,a[6000];s=1;
  fout<<"a[1]=1;"<<endl;
  for (i=2;i<=2000000000;i++)
    if (doit(doit(doit(doit(i,2),3),5),7)==1)
    {
      a[++s]=i;
      fout<<"a["<<s<<"]="<<i<<";"<<endl;
    }
  
  cout<<"p";
  cin>>i;
  while (i)
  {
    cout<<"The "<<i<<str(i)<<" humble number is "
        <<a[i]<<"."<<endl;
    cin>>i;
  }
  return 0;
}
//---------------------------------------------------------------------------
 

⌨️ 快捷键说明

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