⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toj_2804.cpp

📁 Tianjin University Online Judge 的80多道题目 .
💻 CPP
字号:
/*InputThe input will contain multiple test cases. Each test case contains a single line with a single integer n, the number of vertices of the polygon. (3 ≤ n ≤ 10^1000)The input will be terminated by the end of file.OutputFor each corresponding n, output a single line with the number of guards needed( n / 3 )Sample Input510099999999999999999999Sample Output13333333333333333333333Problem Setter: nuanranSource: TJU Programming Contest 2007 Preliminary*/#include<cstdio>#include<cstring>#define MAXLEN 1010void scanfNum( char num[] , int & len , char& first , bool& flag ){  int i;  char in;  bool flagIn;  num[ 0 ] = first;  len = 1;  flagIn = true;  //  for (  in = getchar(); in != '\n'; in = getchar() , len++ )  while ( flag && flagIn )    {      if ( scanf( "%c" , &in ) != EOF  )	{	  if ( in != '\n' )	    num[ len ] = in - '0';	  else	    flagIn = false;	}      else	flag = false;    }}	        /*      if ( scanf( "%c" , &first ) != EOF )	{	  first = first - '0';	  flag = true;	}      else	flag = false;	}*/  void converse( char num[] , int const len )  {    int i , temp;    for ( i = 0; i <= len / 2; i++ )      {	temp = num[ i ];	num[ i ] = num[ len - 1 - i ];	num[ len - 1 - i ] = temp;      }  }  void numDi3( char num[] , int const len )  {    int i , base , residual , digit;    base = 3;    for ( residual  = 0 , i = len - 1 ; i >= 0 ; i-- )      {	digit = residual * 10 + num[ i ];	residual = digit % base;	num[ i ] = digit / base;      }  }  void printfNum( char num[] , int const len )  {    int i;    if ( num[ len - 1 ] != 0 )      //    printf( "%c" , num[ len - 1 ] );      putchar( num[ len - 1 ] + '0' );    for ( i = len - 2; i >= 0; i-- )      {	putchar( num[ i ] + '0' );      }    putchar( '\n' );  }        int main(){  char num[ MAXLEN ]  , first;  int len;  bool flag;  first = getchar() - '0';  flag = true;  while ( flag )    {      scanfNum( num , len , first , flag );      converse( num , len );      numDi3( num , len );      printfNum( num , len );    }  return 0;}      

⌨️ 快捷键说明

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