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

📄 toj_2804_1.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 1010FILE *fIn = fopen( "toj_2804.in" , "r" );void scanfNum( char num[] , int & len , char& first , bool& flag ){  int i;  char in;  num[ 0 ] = first;  len = 1;  //  for (  in = getchar(); in != '\n'; in = getchar() , len++ )  for ( fscanf( fIn , "%c" , &in ); in != '\n' ; fscanf( fIn , "%c" , &in ) , len++ )    {      num[ len ] = in - '0';    }  if ( fscanf( fIn , "%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';  fscanf( fIn , "%c" , first );  first -= '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 + -