#define _CRT_SECURE_NO_WARNINGS #include #include char number[100001]; char sums[100000]; int size, digits[10]; int main() { memset(digits, 0, sizeof(digits)); memset(sums, 0, sizeof(sums)); FILE* fin = fopen("digits.in", "rb"); memset(number, 0, 100001); fread(number, 1, 100000, fin); fclose(fin); for (size = 0; size < 100001 && number[size] > '0' && number[size] <= '9'; size++) number[size] -= '0'; for (int i = 0; i < size; i++) { for (int j = 0, c = size - i; j < c; j++) { char digit = number[i + j], s = sums[j]; s += digit; if (s > 9) s -= 9; digits[s]++; sums[j] = s; } } FILE* fout = fopen("digits.out", "wt"); for (int i = 1; i < 10; i++) { fprintf(fout, i == 1 ? "%d" : " %d", digits[i]); } fclose(fout); return 0; }