Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ones_tens_hundreds.c by Dragan Milicev
- Find all positive three-digit integers whose digits meet the requirement
- hundreds + tens + ones = hundreds * tens * ones
- You can find all my C programs at Dragan Milicev's pastebin:
- https://pastebin.com/u/dmilicev
- */
- #include <stdio.h>
- // extract digits from number into array digits[]
- // returns the number of extracted digits
- int extract_digits_from_number( int number, int digits[20] )
- {
- int i, j, number_of_digits = 0, mem;
- while( number != 0 )
- {
- digits[number_of_digits++] = number % 10; // fill array digits[]
- number = number / 10;
- }
- // reverse first number_of_digits elements of array digits[]
- for ( i=0, j=number_of_digits-1; i<number_of_digits/2; i++, j-- )
- {
- mem = digits[i];
- digits[i] = digits[j];
- digits[j] = mem;
- }
- return( number_of_digits );
- } // extract_digits_from_number
- int main(void)
- {
- int digits[20]; // array to store digits of number
- int i, counter=0;
- for ( i=100; i<1000; i++)
- {
- extract_digits_from_number( i, digits );
- if ( digits[0]+digits[1]+digits[2] == digits[0]*digits[1]*digits[2] )
- {
- counter++;
- printf("\n %4d. \t %5d \n", counter, i );
- }
- }
- printf("\n\n From 100 to 999, there are %d such numbers. \n\n", counter );
- return 0;
- } // main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement