Загрузка...

Help solve problems in C language

Thread in C/C++ created by Ryouske Oct 29, 2022. 237 views

  1. Ryouske
    Ryouske Topic starter Oct 29, 2022 Banned 2 Sep 29, 2020
    Написать процедуру, которая находит на отрезке [n,m] первое из чисел с максимальным количеством делителей.

    Дано натуральное число N. Написать функцию, которая возвращает количество наибольших цифр в записи числа N
     
  2. LVV
    привет, стукни в тг, могу за копейку помочь
     
  3. olmovc
    olmovc Jan 3, 2023 0 Jan 1, 2023
    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;
    }
     
Loading...
Top