# C Programming Exercises on Numbers: Exercises, Practice, Solution

## C Programming Exercises on Numbers [38 exercises with solution]

[** An editor is available at the bottom of the page to write and execute the scripts.** Go to the editor]

**1.** Write a program in C to check whether a given number is an ugly number or not.

*Expected Output* :

Input an integer number: 25

It is an ugly number.

**2.** Write a program in C to check whether a given number is Abundant or not.

*Expected Output* :

Input an integer number: 18

The number is Abundant.

**3.** Write a program in C to find the Abundant numbers (integers) between 1 and 1000.

*Expected Output* :

The Abundant number between 1 to 1000 are:

-----------------------------------------------

12 18 20 24 30 36 40 42 48 54 56 60 66 70 72 78 80...

**4.** Write a program in C to check whether a given number is Deficient or not.

*Expected Output* :

Input an integer number: 15

The number is Deficient.

**5.** Write a program in C to find the Deficient numbers (integers) between 1 to 100.

*Expected Output* :

The Deficient numbers between 1 to 100 are:

------------------------------------------------

1 2 3 4 5 7 8 9 10 11 13 14 15 16 17 19 21 22 23 25 26 27...

**6.** Write a program in C to check whether a given number is a Kaprekar number or not.

*Expected Output* :

Input a number: 45

45 is a Kaprekar number.

**7.** Write a program in C to generate and show all Kaprekar numbers less than 1000.

*Expected Output* :

The Kaprekar numbers less than 1000 are:

1 9 45 55 99 297 703 999

**8.** Write a program in C to check whether a number is a Lychrel number or not.

*Expected Output* :

Input a number: 196

The given number is Lychrel.

**9.** Write a program in C to display and count the number of Lychrel numbers within a specific range (from 1 to a specific upper limit).

*Expected Output* :

Input the upper limit: 1000

The Lychrel numbers are:

196 295 394 493 592 689 691 788 790 879 887 978 986

The number of Lychrel numbers are: 13

**10.** Write a program in C to generate and show the first 15 narcissistic decimal numbers.

*Expected Output* :

The first 15 narcissistic decimal numbers are:

1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208

**11.** Write a program in C to display the first 10 lucus numbers.

*Expected Output* :

The first 10 Lucus numbers are:

2 1 3 4 7 11 18 29 47 76

**12.** Write a program in C to display the first 10 Catalan numbers.

*Expected Output* :

The first 10 catalan numbers are:

1 1 2 5 14 42 132 429 1430 4862

**13.** Write a program in C to determine whether a number is Happy or not.

*Expected Output* :

Input a number: 13

13 is a Happy number.

**14.** Write a program in C to find the happy numbers between 1 and 1000.

*Expected Output* :

The happy numbers between 1 to 1000 are: 1 7 10 13 19 23 28 31 32 44 49.....

**15.** Write a program in C to check whether a number is Disarium or not.

*Expected Output* :

Input a number: 135

The given number is a Disarium Number.

**16.** Write a program in C to find Disarium numbers between 1 and 1000.

*Expected Output* :

The Disarium numbers are:

1 2 3 4 5 6 7 8 9 89 135 175 518 598

**17.** Write a program in C to check if a number is a Harshad Number or not.

*Expected Output* :

Input a number: 9

The given number is a Harshad Number.

**18.** Write a program in C to find the Harshad Number between 1 and 100.

*Expected Output* :

The Harshad Numbers are: 1 2 3 4 5 6 7 8 9 10 12 18 20 21 24 27 30 36 40 42 45 48 50 54 60 63 70 72 80 81 84 90 100

**19.** Write a program in C to check whether a number is a Pronic Number or Heteromecic Number or not.

*Expected Output* :

Input a number: 132

The given number is a Pronic Number.

**20.** Write a program in C to find a Pronic Number between 1 and 1000.

*Expected Output* :

The Pronic numbers are:
2 6 12 20 30 42 56 72 90 110 132 156 182 210 240 272 306 342 380 420 462 506 552 600 650 702 756 812 870 930 992

**21.** Write a program in C to check if a number is Authomorphic or not.

*Expected Output* :

Input a number: 76

The given number is an Automorphic Number.

**22.** Write a program in C to find the Authomorphic numbers between 1 and 1000.

*Expected Output* :

The Authomorphic numbers are: 1 5 6 25 76 376 625

**23.** Write a program in C to check whether a number is a Duck Number or not.

*Expected Output* :

Input a number: 3210

The given number is a Duck Number.

**24.** Write a program in C to find Duck Numbers between 1 and 500.

*Expected Output* :

The Duck numbers are: 10 20 30 40 50 60 70 80 90 100 101 102......

**25.** Write a program in C to check whether two numbers are Amicable numbers or not.

*Expected Output* :

Input the 1st number : 1184

Input the 2nd number : 1210

The given numbers are an Amicable pair.

**26.** Write a program in C to count the amicable pairs in an array.

*Expected Output* :

Input the number of elements to be stored in the array: 4

element - 0: 220

element - 1: 274

element - 2: 1184

element - 3: 1210

Number of Amicable pairs presents in the array: 1

**27.** Write a program in C to check if a given number is circular prime or not.

*Expected Output* :

Input a Number: 1193

The given number is a circular prime Number.

**28.** Write a program in C to find circular prime numbers up to a specific limit.

*Expected Output* :

Enter the upper Limit: 1000

The Circular Prime Numbers less than 1000 are:

2 3 5 7 11 13 17 31 37 71 73 79 97 113 131 197 199 311 337 373 719 733 919 971 991

**29.** Write a program in C to check whether a given number is an ideal cube or not.

*Expected Output* :

Input a number: 125

The number is a perfect Cube of 5

**30.** Write a program in C to display the first 10 Fermat numbers.

*Expected Output*:

The first 10 Fermat numbers are:

3.000000

5.000000

17.000000

257.000000

65537.000000

4294967297.000000

18446744073709551616.000000

340282366920938463463374607431768211456.000000

115792089237316195423570985008687907853269984665640564039457584007913129639936.000000

13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858
186486050853753882811946569946433649006084096.000000

inf

**31.** Write a program in C to find any number between 1 and n that can be expressed as the sum of two cubes in two (or more) different ways.

*Expected Output* :

The numbers in the above range are:

1729 = 1^3 + 12^3 = 9^3 + 10^3

4104 = 2^3 + 16^3 = 9^3 + 15^3

13832 = 2^3 + 24^3 = 18^3 + 20^3

39312 = 2^3 + 34^3 = 15^3 + 33^3

46683 = 3^3 + 36^3 = 27^3 + 30^3

32832 = 4^3 + 32^3 = 18^3 + 30^3

40033 = 9^3 + 34^3 = 16^3 + 33^3

20683 = 10^3 + 27^3 = 19^3 + 24^3

65728 = 12^3 + 40^3 = 31^3 + 33^3

64232 = 17^3 + 39^3 = 26^3 + 36^3

**32.** Write a program in C to check if a number is a Mersenne number or not.

*Expected Output* :

Input a number: 127

127 is a Mersenne number.

**33.** Write a program in C to generate Mersenne primes within a range of numbers.

*Expected Output*:

Input a upper limit [range from 1 to upper limit]: 1000

Mersenne prime numbers are:

3 7 31 127

**34.** Write a program in C to find narcissistic decimal numbers within a specific range.

*Expected Output* :

Input the lower limit: 100

Input a upper limit: 1000

The narcissistic decimal numbers between 100 and 1000 are:

153 370 371 407

**35.** Write a program in C to print the first 20 numbers of the Pell series.

*Expected Output* :

The first 20 numbers of Pell series are:

0 1 2 5 12 29 70 169 408 985 2378 5741 13860 33461 80782 195025 470832 1136689 2744210 6625109

**36.** Write a program in C to check if a number is Keith or not.

*Expected Output* :

Input a number : 1104

The given number is a Keith Number.

**37.** Write a program in C to check if a number is Keith or not (with explanation).

*Expected Output* :

Input a number : 1537

1 + 5 + 3 + 7 = 16

5 + 3 + 7 + 16 = 31

3 + 7 + 16 + 31 = 57

7 + 16 + 31 + 57 = 111

16 + 31 + 57 + 111 = 215

31 + 57 + 111 + 215 = 414

57 + 111 + 215 + 414 = 797

111 + 215 + 414 + 797 = 1537

The given number is a Keith Number.

**38.** Write a C program to check whether a given number with base b (2 <= b<= 10) is a Niven number or not.

From Wikipedia,

In recreational mathematics, a harshad number (or Niven number) in a given number base, is an integer that is divisible by the sum of its digits when written in that base. Harshad numbers in base n are also known as n-harshad (or n-Niven) numbers. Harshad numbers were defined by D. R. Kaprekar, a mathematician from India. The word "harshad" comes from the Sanskrit harṣa (joy) + da (give), meaning joy-giver. The term “Niven number” arose from a paper delivered by Ivan M. Niven at a conference on number theory in 1977. All integers between zero and n are n-harshad numbers.

The number 18 is a harshad number in base 10, because the sum of the digits 1 and 8 is 9 (1 + 8 = 9), and 18 is divisible by 9 (since 18/9 = 2, and 2 is a whole number).

*Test Data*

Input: base 10: Number 3

Output: 3 is a Niven Number

Input: base 10: Number 18

Output: 18 is a Niven Number

Input: base 10: Number 15

Output: 15 is not a Niven Number

**C Programming Code Editor:**

**More to Come !**

**Do not submit any solution of the above exercises at here, if you want to contribute go to the appropriate exercise page.**

**Weekly Trends**- 100 Python Projects for Beginners with solution
- Mastering NumPy: 100 Exercises with solutions
- SQL Tutorial
- SQL Inner Join
- Python Exercises, Practice, Solution
- Python Interview Questions and Answers: Comprehensive Guide
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript HTML Form Validation
- Java Collection Exercises