BitComet 旗下网站

转到日志
相关贴吧:
uva of acm

uva10019/q10019

楼主 发表于:2008-10-05 19:23:31 [回复]

 //uva.acm.10019 将十进制转换成2进制,十进制转换成16进制,再转换成2进制

#include<iostream>
using namespace std;
const int N=10;
int a[N+1];
int d2b(int n)
{
  int s=0;
  while(n)
  {
    if(n%2==1) s++;
    n/=2;
  }
  return s;
}
int h2b(int n)
{
 int s=0,i=0;
 while(n)
 { a[i]=n%10;n/=10; i++; }
 for(int j=i-1;j>=0;j--) s=(s+a[j])*16;
 int sum=0;
   while(s)
   {
    if(s%2==1)  sum++;
     s/=2;
   }
   return sum;
}
int main()
{
 int t,n;
 scanf("%d",&t);
 while(t--)
 {
  scanf("%d",&n);
  printf("%d %d\n",d2b(n),h2b(n));
 }
 return 0;
}


心难泰,世风坏,旧时正气今何在?正义寡,人情薄,闻道虽多,茅塞不开。怪!怪!怪! 空等待,几多载,冲出重围人心快!暴雨打,狂风袭,任他折磨,此志难改。耐!耐!耐!

 

您现在还没有登录,请在登录后发贴