Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

C Exercises: Find the largest palindrome made from the product of two 3-digit numbers

C Programming Practice: Exercise-20 with Solution

A palindrome is a word, number, phrase, or other sequence of characters which reads the same backward as forward, such as taco cat or madam or racecar or the number 10801. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Write a C programming to find the largest palindrome made from the product of two 3-digit numbers.

C Code:

#include <stdio.h>
static int test_palindromic(unsigned int n);
int main(void)
{
  unsigned int i, j, max = 0;
  for (i = 100; i <= 999; i++) {
    for (j = 100; j <= 999; j++) {
      unsigned int p = i*j;
      if (test_palindromic(p) && p > max) {
        max = p;
      }
    }
  }
  printf("%u\n", max);
  return 0;
}
int test_palindromic(unsigned int n)
{
  unsigned int reversed_num = 0, t = n;
  while (t) {
    reversed_num = 10*reversed_num + (t % 10);
    t /= 10;
  }
  return reversed_num == n;
}

Sample Output:

906609

Flowchart:

C Programming Flowchart: Find the largest palindrome made from the product of two 3-digit numbers.

C Programming Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a C programming to find the largest prime factor of the number 438927456?.
Next: Write a C programming to find the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



C Programming: Tips of the Day

Static variable inside of a function in C

The scope of variable is where the variable name can be seen. Here, x is visible only inside function foo().

The lifetime of a variable is the period over which it exists. If x were defined without the keyword static, the lifetime would be from the entry into foo() to the return from foo(); so it would be re-initialized to 5 on every call.

The keyword static acts to extend the lifetime of a variable to the lifetime of the programme; e.g. initialization occurs once and once only and then the variable retains its value - whatever it has come to be - over all future calls to foo().

Ref : https://bit.ly/3fOq7XP