经典指数          
原因
1134
浏览数
0
收藏数
 

The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221, ... 1is read off as"one 1"or11. 11is read off as"two 1s"or21. 21is read off as"one 2, thenone 1"or1211. Given an integer n, generate the nth sequence. Note: The sequence of integers will be represented as a string.

     举报   纠错  
 
切换
1 个答案

#include

#include

#include

using namespace std;

int main()

{

  int fuck,yi,wan,a1,a2,a3,a4,flag;

  string s[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};

  while(~scanf("%d",&fuck))

  {

    flag=0;

    if(!fuck) 

    {

      cout<<"ling"<

    }

    if(fuck<0)

    {

      fuck=-fuck;printf("Fu");flag=1;

    }

    yi=fuck/100000000;fuck%=100000000;

    if(yi) 

    {

      if(flag) cout<<" ";else flag=1;

      cout<

    }

    wan=fuck/10000;fuck%=10000;

    a1=wan/1000;a2=(wan/100);a3=(wan/10);a4=wan;

    if(a1) 

    {

      if(flag) cout<<" ";else flag=1;

      cout<

    }

    else if(fuck&&yi&&(a2+a3+a4+fuck))cout<<" ling";

    if(a2) 

    {

      if(flag) cout<<" ";else flag=1;

      cout<

    }

    else if(a1&&(a3+a4)) cout<<" ling";

    if(a3)

    {

      if(flag) cout<<" ";else flag=1;

      cout<

    } 

    else if(a2&&a4) cout<<" ling";

    if(a4) 

    {

      if(flag) cout<<" ";else flag=1;

      cout<

    }

    if(wan) cout<<" Wan";

    

    a1=fuck/1000;a2=(fuck/100);a3=(fuck/10);a4=fuck;

    if(a1) 

    {

      if(flag) cout<<" ";else flag=1;

      cout<

    }

    else if(wan&&(a2+a3+a4)) cout<<" ling";

    if(a2) 

    {

      if(flag) cout<<" ";else flag=1;

      cout<

    }

    else if(a1&&(a3+a4)) cout<<" ling";

    if(a3) 

    {

      if(flag) cout<<" ";else flag=1;

      cout<

    }

    else if(a2&&a4) cout<<" ling";

    if(a4)

    {

      if(flag) cout<<" ";else flag=1;

      cout<

    } 

    cout<

  }

  return 0;

//把数字拆解成一个亿位的数字,加上两个四位数字,注意输出“ling”的情况

 
切换
撰写答案
扫描后移动端查看本题