close

原文

https://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=1042

感謝冰塊大大的翻譯

http://kos74185foracm.blogspot.com/2013/03/10101-bangla-numbers.html

感謝灆霧洢鬱大大的分享

https://knightzone.studio/2012/08/01/1789/uva%EF%BC%9A10101%EF%BC%8Dbangla-numbers/

感謝kuragechan14大大的分享

http://kuragechan14.pixnet.net/blog/post/85859305-%E3%80%90uva%E3%80%9110101---bangla-numbers

請大家務必先閱讀他們的文章,因為這題我是看他們的程式碼才打出來的。

 

C++

#include <iostream>
#include <iomanip>
using namespace std;

void cal(long long x)
{
	if(x/10000000!=0) 
	{
		cal(x/10000000);//處理不是最高位那組
						//或是輸出數字,下同 
		cout<<" kuti";//輸出單位 
		x=x%10000000;//去掉前面的數字,下同 
	}
	
	if(x/100000!=0)
	{
		cal(x/100000);
		cout<<" lakh";
		x=x%100000;
	}
	
	if(x/1000!=0)
	{
		cal(x/1000);
		cout<<" hajar";
		x=x%1000;
	}
	
	if(x/100!=0)
	{
		cal(x/100);
		cout<<" shata";
		x=x%100;
	}
	
	if(x!=0)
	{
		cout<<" "<<x;//輸出數字 
	}
}

int main()
{
	long long num,count=1;
	
	while(cin>>num)//輸入數字 
	{
		cout<<setw(4)<<count<<".";//輸出標題數字 
		cal(num);//呼叫函式
		 
		if(num==0)//若輸入為0 
		{		  //則輸出0 
			cout<<" 0";
		}
		
		count=count+1;//計算次數 
		cout<<endl;//記得換行 
	}
}
 
arrow
arrow
    文章標籤
    UVa一星題
    全站熱搜
    創作者介紹
    創作者 豪CO 的頭像
    豪CO

    程式道路,必為豐富

    豪CO 發表在 痞客邦 留言(0) 人氣()