Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- int int_length(int number) {
- char _chstring[16];
- sprintf(_chstring, "%d", number);
- return strlen(_chstring);
- }
- int i_pow(int num, int tobase) {
- int i_result = 1, i;
- for(i = 0; i < tobase; i++)
- i_result *= num;
- return i_result;
- }
- int isprimo(int number) {
- int ndiv = 0, i;
- for(i = number; i > 0; i--) {
- if(number%i == 0)
- ndiv++;
- }
- if(ndiv == 2)
- return 1;
- return 0;
- }
- int main(void) {
- int num;
- while(1) {
- scanf("%d", &num);
- if(!num)
- break;
- int count = 0;
- if(isprimo(num))
- count++;
- int i, j;
- for(i = int_length(num); i > 0; i--) {
- int _temp_num = num % (i_pow(10, i));
- printf("\n");
- printf("temp [i=%d]: %d\n", i, _temp_num);
- if(isprimo(_temp_num))
- count++;
- for(j = 1; j <= int_length(_temp_num); j++) {
- int _other_num = _temp_num % (i_pow(10, j));
- printf("other [j=%d]: %d\n", j, _other_num);
- if(isprimo(_other_num))
- count++;
- }
- }
- printf("%d : %d\n", num, count);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement