AMCAT C PROGRAMMING QUESTIONS
1.Lcm of 2 nos
#include <stdio.h>
int main()
{
int a, b, lcm;
printf(“\nEnter two numbers: “);
scanf(“%d %d”, &a, &b);
lcm = (a > b) ? a : b;
while(1)
{
if( lcm % a == 0 && lcm % b == 0 )
{
printf(“\nLCM of %d and %d is %d\n”, a, b,lcm);
break;
}
++lcm;
}
return 0;
}
2.Find lcm by finding gcd
#include <stdio.h>
int GCD(int a, int b)
if (a == 0 || b == 0)
return 0;
if (a == b)
return a;
if (a > b)
return GCD(a-b, b);
else
return GCD(a, b-a);
int LCM(int a, int b)
return (a*b)/GCD(a, b);
int main()
int a=10,b=13;
printf("\nLCM of %d and %d is %d \n", a, b, LCM(a, b));
return 0;
3.. binary to decimal
void binarytodecimal(number)
{
int dval=0, base=1, rem;
while(number > 0)
{
rem = number % 10;
dval = dval + rem * base;
num = number / 10;
base = base * 2;
}
return dval;
}
4.Print the prime numbers from an array up to given value n by using existing
function.
#include<stdio.h>
int main()
int n, m, arr[100], size=0, i;
scanf("%d", &n);
for(m = 2; m <= n; m++)
if(isprime(m))
arr[size++]= m;
for(i = 0; i < size; i++)
printf("%d\n", arr[i]);
return 0;
int isprime(int num)
{
int i;
int isprime = 1;
for(i = 2; i <= num / 2; i++)
if(num % i == 0)
isprime = 0;
break;
return isprime;
5.gcd of 2 nos
#include<stdio.h>
int main()
int n, m, arr[100], size=0, i;
scanf("%d", &n);
for(m = 2; m <= n; m++)
if(isprime(m))
{
arr[size++]= m;
for(i = 0; i < size; i++)
printf("%d\n", arr[i]);
return 0;
int isprime(int num)
int i;
int isprime = 1;
for(i = 2; i <= num / 2; i++)
if(num % i == 0)
isprime = 0;
break;
return isprime;
}
6.gcd using recursion
#include <stdio.h>
int gcd(int a, int b)
{
if (b != 0)
return gcd(b, a % b);
else
return a;
}
int main()
{
int a, b;
printf(“Enter two numbers: “);
scanf(“%d %d”, &a, &b);
printf(“\nGCD of %d and %d is %d\n”, a, b, gcd(a,b));
return 0;
}
7.prime no
#include<stdio.h>
int main()
int n=14,i;
for(i=2;i<=n/2;i++)
if(n%i==0)
break;
}
if(i>n/2)
printf(" is prime");
else
printf("not prime");
return 0;
8.palindrome
#include<stdio.h>
int main()
int n=141,i,rem=0,rev=1;
while(n<1)
rem=n%10;
rev=rev*10+rem;
n/=10;
if(n=rev)
printf(" palindrome");
else
printf("not a palindrome");
return 0;}
9. void is_leap_year(int year)
{
if(year%4 == 0)
{
if( year%100 == 0)
{
if ( year%400 == 0)
printf(“%d is a leap year”, year);
else
printf(“%d is not a leap year”, year);
}
else
printf(“%d is a leap year”, year);
}
else
printf(“%d is not a leap year”, year);
printf(“\n”);
}
10. C program to check whether the given number is Armstrong or not
#include
#include
int main()
{
int number, temp, remainder, result = 0, n = 0 ;
printf(“Enter an integer: “);
scanf(“%d”, &number);
temp = number;
// Finding the number of digits
while (temp != 0)
{
temp /= 10;
++n;
}
temp = number;
// Checking if the number is armstrong
while (temp != 0)
{
remainder = temp%10;
result += pow(remainder, n);
temp /= 10;
}
if(result == number)
printf(“%d is an Armstrong number\n”, number);
else
printf(“%d is not an Armstrong number\n”, number);
return 0;
}