Написать процедуру, которая находит на отрезке [n,m] первое из чисел с максимальным количеством делителей. Дано натуральное число N. Написать функцию, которая возвращает количество наибольших цифр в записи числа N
/* Дано натуральное число N. Написать функцию, которая возвращает количество наибольших цифр в записи числа N */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int main() { size_t N = 77576; // count of digits of number int size_array = (int)ceil(log10(N)); // create char array char *charray = (char *)calloc(size_array + 1, sizeof(char)); // enter number to char array sprintf_s(charray, size_array + 1, "%llu", N); printf_s("\nstr = %s\tsize_arr=%d\n", charray, size_array); // create int array int *iarray = (int *)calloc(size_array, sizeof(int)); // enter digits of number to int array for (size_t i = 0; i < size_array; i++) { iarray[i] = charray[i] - '0'; printf("d[%llu]=%d\t\n", i, iarray[i]); } // find max value of digits int max_digit = 0; for (size_t i = 0; i < size_array; i++) { if (max_digit < iarray[i]) { max_digit = iarray[i]; } } printf("maxdig = %d\n", max_digit); // get count of max digits int count_max_digit = 0; for (size_t i = 0; i < size_array; i++) { if (max_digit == iarray[i]) { count_max_digit++; } } printf("\nCount maxdig = %d\n", count_max_digit); free(charray); free(iarray); return 0; } C /* Дано натуральное число N. Написать функцию, которая возвращает количество наибольших цифр в записи числа N */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int main() { size_t N = 77576; // count of digits of number int size_array = (int)ceil(log10(N)); // create char array char *charray = (char *)calloc(size_array + 1, sizeof(char)); // enter number to char array sprintf_s(charray, size_array + 1, "%llu", N); printf_s("\nstr = %s\tsize_arr=%d\n", charray, size_array); // create int array int *iarray = (int *)calloc(size_array, sizeof(int)); // enter digits of number to int array for (size_t i = 0; i < size_array; i++) { iarray[i] = charray[i] - '0'; printf("d[%llu]=%d\t\n", i, iarray[i]); } // find max value of digits int max_digit = 0; for (size_t i = 0; i < size_array; i++) { if (max_digit < iarray[i]) { max_digit = iarray[i]; } } printf("maxdig = %d\n", max_digit); // get count of max digits int count_max_digit = 0; for (size_t i = 0; i < size_array; i++) { if (max_digit == iarray[i]) { count_max_digit++; } } printf("\nCount maxdig = %d\n", count_max_digit); free(charray); free(iarray); return 0; }