C languge Could u plz add some notes to help me understandSo
Solution
#include <stdio.h>
#include<stdlib.h>
/*
Algorithm:
Given the number genrate a reverse of a number
if reverse and number are both equal than it is a palindrome.
Generating reverse number :
Example : 27
initialize reverse = 0
keep getting the last digit till the number become zero
Get the last digit of 27
7
reverse = reverse*10+lastDigit
reverse = 7
number = 27/10 = 2
Get the last digit of 2
2
reverse = 7*10 + 2
reversee = 72
number = 2/10 = 0
*/
void palindrome(int *x,int *n)
{
int reverse = 0;
int number = *x;
int lastDigit;
while(number!=0)
{
lastDigit = number%10;
reverse = reverse*10+lastDigit;
number = number/10;
}
if(reverse == *x)
*n = 1;
else
*n = 0;
return;
}
/*
Get all the digits using the same concept as above,
Sum all the cubes of last digits generrated from above process
and check for equality
*/
int armstrong(int *n)
{
int lastDigit,number = *n;
int sum = 0;
while(number!=0)
{
lastDigit = number%10;
sum = sum+lastDigit*lastDigit*lastDigit;
number = number/10;
}
if(sum == *n)
return 1;
else
return 0;
}
int main(void) {
// your code goes here
int x;
//Input the number of element from user
printf(\"Enter x : \");
scanf(\"%d\",&x);
int res;
palindrome(&x,&res);
if(res == 1)
printf(\"%d is a palindrome.\ \",x);
else
printf(\"%d is not a palindrome.\ \",x);
printf(\"Enter a positive integer : \");
scanf(\"%d\",&x);
res = armstrong(&x);
if(res == 1)
printf(\"%d is a armstrong number.\ \",x);
else
printf(\"%d is not a armstrong number.\ \",x);
return 0;
}
OUTPUT:
Enter x : 313
313 is a palindrome.
Enter a positive integer : 371
371 is a armstrong number.

