posts - 21,  comments - 9,  trackbacks - 0
这个题就是用一个递归转化数字。10以下的不用转换。
#include<iostream>
using namespace std;
int k;
int ff(int a)
{
 int sum=1;
 for(int i=0;i<a;i++)
  sum*=10;
 return sum;
}
void convert(int a)
{
 if(k/ff(a)==0)
  return ;
 else
 {
  if(k%ff(a)>=ff(a)/2)
   k=k/ff(a)+1;
  else
   k=k/ff(a);
  k*=ff(a);
  convert(a+1);  
 }
}
int main()
{
 int n;
 cin>>n;
 while(n--)
 {
  cin>>k;
  if(k<10)
  {
   cout<<k<<endl;
   continue;
  }
  convert(1);
  cout<<k<<endl;
 }
 return 0;
}
posted on 2010-08-16 11:01 崔佳星 阅读(841) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜