How to check if a 3-digit number is osiris number (sum of permutations of sub-samples of their own digits) in C

1 Answer

0 votes
#include <stdio.h>
#include <stdbool.h>

bool isOsirisNumber(int n) {
   int a = n % 10;
   int b = (n / 10) % 10;
   int c = n / 100;
   int sum = a + b + c;
   
   printf("a=%d b=%d c=%d sum=%d\n", a, b, c, sum);
   
   if (n == (22 * sum)) {
      return true;
   }
   return false;
}
int main() {
   int n = 264;
   
   printf("n=%d\n", n);
   
   if (isOsirisNumber(n))
      puts("Osiris number");
   else
      puts("Not osiris number");
}


 
 
 
/*
run:
 
n=264
a=4 b=6 c=2 sum=12
Osiris number
 
*/

 



answered Jul 16, 2020 by avibootz
...