KAPREKAR NUMBER OR NOT
Consider the following I/O samples.
SAMPLE INPUT: 45
SAMPLE OUTPUT: KAPREKAR NUMBER
A KAPREKAR NUMBER is a number whose square divided into two parts and the sum of the parts is equal to the original number.
45^2 = 2025 --- 20 + 25 =45
45^2 = 2025 --- 20 + 25 =45
C PROGRAM:
#include <stdio.h>
#include<math.h>
#include<stdbool.h>
bool kap(int n)
{
int sqr,i,equal,sum,ctr=0;
if(n==1)
return true;
sqr=n*n;
ctr=0;
while(sqr)
{
ctr++;
sqr/=10;
}
sqr=n*n;
for(i=1;i<ctr;i++)
{
equal=pow(10,i);
if(equal == n)
continue;
sum=sqr/equal + sqr%equal;
if(sum == n)
return true;
}
return false;
}
int main()
{
int n;
scanf("%d",&n);
if(kap(n) == true)
printf("KAPREKAR NUMBER");
else
printf("NOT A KAPREKAR NUMBER");
return 0;
}
OUTPUT:

The given source code in C program "FOR KAPREKAR NUMBER OR NOT" is short and simple to understand. The source code is well tested in DEV-C++ and is completely error free.
#include <stdio.h>
#include<math.h>
#include<stdbool.h>
bool kap(int n)
{
int sqr,i,equal,sum,ctr=0;
if(n==1)
return true;
sqr=n*n;
ctr=0;
while(sqr)
{
ctr++;
sqr/=10;
}
sqr=n*n;
for(i=1;i<ctr;i++)
{
equal=pow(10,i);
if(equal == n)
continue;
sum=sqr/equal + sqr%equal;
if(sum == n)
return true;
}
return false;
}
int main()
{
int n;
scanf("%d",&n);
if(kap(n) == true)
printf("KAPREKAR NUMBER");
else
printf("NOT A KAPREKAR NUMBER");
return 0;
}
OUTPUT:

The given source code in C program "FOR KAPREKAR NUMBER OR NOT" is short and simple to understand. The source code is well tested in DEV-C++ and is completely error free.
If you have any feedback about this article and want to improve this, please comment in the comment section.
Comments
Post a Comment