#UVa:10101-Bangla Numbers

灆洢 2012-08-01 22:00:47

去檢查各個需顯示的位數是否為0,若不為0就顯示,若為0就不顯示。

如果輸入的數字為0,即顯示1個0即可。

C++(0.020)

/*******************************************************/
/* UVa 10101 Bangla Numbers                            */
/* Author: Maplewing [at] knightzone.studio            */
/* Version: 2012/08/01                                 */
/*******************************************************/
#include<iostream>
#include<cstdio>
using namespace std;

void print_number( long long n ){
  if( n == 0 ) return;

  if( n/10000000 ){
    print_number( n/10000000 );
    printf( " kuti" );
    n %= 10000000;
  }

  if( n/100000 ){
    print_number( n/100000 );
    printf( " lakh" );
    n %= 100000;
  }

  if( n/1000 ){
    print_number( n/1000 );
    printf( " hajar" );
    n %= 1000;
  }

  if( n/100 ){
    print_number( n/100 );
    printf( " shata" );
    n %= 100;
  }

  if( n ) printf( " %lld", n );
}

int main(){
  long long n;
  int num = 1;
  while( scanf( "%lld", &n ) != EOF ){
    printf( "%4d.", num );
    if( n ) print_number( n );
    else printf( " 0" );
    printf( "\n" );
    num++;
  }
  return 0;
}

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料