Problem Type : String
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
long int n,in[100],hex[100],l,m,p,x,i,j,countin, counthex,len,k,o,z;
char ch[1000],str[1000],c1[]="0001",c2[]="0010",c3[]="0011",c4[]="0100",c5[]="0101",c6[]="0110",c7[]="0111",c8[]="1000",c9[]="1001";
while(scanf("%ld",&z)==1)
{
for(x=0; x<z; x++)
{
scanf("%ld",&n);
countin=0;
counthex=0;
p=n;
for(i=0;; i++)
{
l=p%2;
in[i]=l;
p=p/2;
if(p==0)
break;
}
for(j=i; j>=0; j--)
{
if(in[j]==1)
countin++;
}
p=n;
for(i=0;; i++)
{
l=p%10;
ch[i]=l+48;
p=p/10;
if(p==0)
break;
}
ch[i+1]='\0';
reverse(ch,ch+i+1);
len=strlen(ch);
m=0;
for(i=0; i<len; i++)
{
if(ch[i]=='1')
{
for(j=0, k=m; j<4; j++,k++)
{
str[k]=c1[j];
}
m=k;
}
else if(ch[i]=='2')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c2[j];
}
m=k;
}
else if(ch[i]=='3')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c3[j];
}
m=k;
}
else if(ch[i]=='4')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c4[j];
}
m=k;
}
else if(ch[i]=='5')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c5[j];
}
m=k;
}
else if(ch[i]=='6')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c6[j];
}
m=k;
}
else if(ch[i]=='7')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c7[j];
}
m=k;
}
else if(ch[i]=='8')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c8[j];
}
m=k;
}
else if(ch[i]=='9')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c9[j];
}
m=k;
}
}
for(i=0; i<len*4; i++)
{
if(str[i]=='1')
counthex++;
}
printf("%ld %ld\n",countin,counthex);
}
}
return 0;
}
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
long int n,in[100],hex[100],l,m,p,x,i,j,countin, counthex,len,k,o,z;
char ch[1000],str[1000],c1[]="0001",c2[]="0010",c3[]="0011",c4[]="0100",c5[]="0101",c6[]="0110",c7[]="0111",c8[]="1000",c9[]="1001";
while(scanf("%ld",&z)==1)
{
for(x=0; x<z; x++)
{
scanf("%ld",&n);
countin=0;
counthex=0;
p=n;
for(i=0;; i++)
{
l=p%2;
in[i]=l;
p=p/2;
if(p==0)
break;
}
for(j=i; j>=0; j--)
{
if(in[j]==1)
countin++;
}
p=n;
for(i=0;; i++)
{
l=p%10;
ch[i]=l+48;
p=p/10;
if(p==0)
break;
}
ch[i+1]='\0';
reverse(ch,ch+i+1);
len=strlen(ch);
m=0;
for(i=0; i<len; i++)
{
if(ch[i]=='1')
{
for(j=0, k=m; j<4; j++,k++)
{
str[k]=c1[j];
}
m=k;
}
else if(ch[i]=='2')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c2[j];
}
m=k;
}
else if(ch[i]=='3')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c3[j];
}
m=k;
}
else if(ch[i]=='4')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c4[j];
}
m=k;
}
else if(ch[i]=='5')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c5[j];
}
m=k;
}
else if(ch[i]=='6')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c6[j];
}
m=k;
}
else if(ch[i]=='7')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c7[j];
}
m=k;
}
else if(ch[i]=='8')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c8[j];
}
m=k;
}
else if(ch[i]=='9')
{
for(j=0, k=m; j<4; j++, k++)
{
str[k]=c9[j];
}
m=k;
}
}
for(i=0; i<len*4; i++)
{
if(str[i]=='1')
counthex++;
}
printf("%ld %ld\n",countin,counthex);
}
}
return 0;
}
No comments:
Post a Comment