Abhijeet Kandalkar
BAN USERint sumOfBinaryNumber()
{
long binary1, binary2;
int i = 0, remainder = 0, sum[20];
printf("Enter the first binary number: ");
cin>>binary1;
printf("Enter the second binary number: ");
cin>>binary2;
while (binary1 != 0 || binary2 != 0)
{
sum[i++] =(binary1 % 10 + binary2 % 10 + remainder) % 2;
remainder =(binary1 % 10 + binary2 % 10 + remainder) / 2;
binary1 = binary1 / 10;
binary2 = binary2 / 10;
}
if (remainder != 0)
sum[i++] = remainder;
--i;
printf("Sum of two binary numbers: ");
while (i >= 0)
printf("%d", sum[i--]);
return 0;
}
/* Modify program to print desired above mentioned */
char* mapping[] ={"","ABC","DEF","GHI","JKL","MNO","PQR","STU","VWX","YZ"};
void printallcombination(char* s, int idx, char* res)
{
if(idx > strlen(s))
{
cout<<res<<"\n";
return;
}
int c = (int)(s[idx-1] - '0');
for(int i=0; i< strlen(mapping[c]);i++)
{
char* temp = (char*)malloc(sizeof(char) * 100);
memset(temp, 0, sizeof(char) * 100);
temp[0] = mapping[c][i];
char* temp1 = (char*)malloc(sizeof(char) * 100);
memset(temp1, 0, sizeof(char) * 100);
strcat(temp1, res);
printallcombination(s,idx+1, strcat(res, temp));
strcpy(res, temp1);
delete(temp);
delete(temp1);
}
}
void main( )
{
char* result = (char*)malloc(sizeof(char)*100);
memset(result, 0, sizeof(char)*100);
printallcombination("12",1,result);
}
Output :
ABD
ABE
ABF
ACD
ACE
ACF
BAD
BAE
BAF
BBD
BBE
BBF
BCD
BCE
BCF
CAD
CAE
CAF
CBD
CBE
CBF
CCD
CCE
CCF
/* Modify program to print desired above mentioned */
char* mapping[] ={"","ABC","DEF","GHI","JKL","MNO","PQR","STU","VWX","YZ"};
void printallcombination(char* s, int idx, char* res)
{
if(idx > strlen(s))
{
cout<<res<<"\n";
return;
}
int c = (int)(s[idx-1] - '0');
for(int i=0; i< strlen(mapping[c]);i++)
{
char* temp = (char*)malloc(sizeof(char) * 100);
memset(temp, 0, sizeof(char) * 100);
temp[0] = mapping[c][i];
char* temp1 = (char*)malloc(sizeof(char) * 100);
memset(temp1, 0, sizeof(char) * 100);
strcat(temp1, res);
printallcombination(s,idx+1, strcat(res, temp));
strcpy(res, temp1);
delete(temp);
delete(temp1);
}
}
void main( )
{
char* result = (char*)malloc(sizeof(char)*100);
memset(result, 0, sizeof(char)*100);
printallcombination("12",1,result);
}
Output :
ABD
ABE
ABF
ACD
ACE
ACF
BAD
BAE
BAF
BBD
BBE
BBF
BCD
BCE
BCF
CAD
CAE
CAF
CBD
CBE
CBF
CCD
CCE
CCF
int jumpSteps(int step)
{
if (step == 1)
return 1;
else if (step == 2)
return 2;
return jumpSteps(step - 1) + jumpSteps(step - 2);
}
int main()
{
cout<<jumpSteps(4); // Answer : 5
}
Explanation :
(1,1,1,1)
(1,1,2)
(1,2,1)
(2,1,1)
(2,2)
Could you please explain it with set of 10 numbers. Solution seems to be interesting but not getting it.
- Abhijeet Kandalkar March 15, 2014What is i here ?