#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//各桁の数字和を求める
int sum_num(int n){
    int ans=0;
    while (n > 0) {
        ans += n%10;
        n /= 10;
    }
    return ans;
}

//約数の各桁の数字和を求める
int div_sum(int n) {
    int i, ans = 0;
    for (i = 1; i <= n; ++i) if (n%i == 0) ans += sum_num(i);
    return ans;
}

/* 実験回数の上限 */
#define MAX_NUM 30

int main(int argc, char *argv[]) {
    int i, j, ans, ct=0;
    
    srand((unsigned)time(NULL));

      while (ct++ < MAX_NUM) {
        ans = rand()%1000;
        while (ans != 15) {
            printf("%d -> ", ans);
            ans = div_sum(ans);
        }
        printf("15\n");
    }
    return 0;
}
