• Предмет: Информатика
  • Автор: novikovmaksim37
  • Вопрос задан 6 лет назад

Число делителей
Имя входного файла:
Имя выходного файла:
Ограничение по времени:
Ограничение по памяти:
standard input
standard output
2 секунды
256 мегабайт
Задано число n. Требуется найти число от 1 до n, включительно, которое имеет
максимальное число положительных целых делителей.
Например, если n = 20, то искомое число — 12, у него 6 делителей: 1, 2, 3, 4, 6, 12.
Формат входных данных
На вход подается одно число n (1 ≤ n ≤ 105
)
Формат выходных данных
Выведите на первой строке число от 1 до n, включительно, которое имеет максимальное число делителей. На второй строке выведите число его делителей.
Если есть несколько чисел от 1 до n с максимальным числом делителей, выведите
любое из них.
Примеры
standard input standard output
20 12 6
#include
#include

int main()
{
int n, i, a, max=n, p, k;
scanf ("%d %d %d %d %d %d", &n, &i, &a, &max, &p, &k);
do{i=1;
i++;
}
while(i do{k=1;
k++;
}
while(k do{
while(i%k==0);
a++;
}

while(max printf("%d", p);
return 0;
}
что тут неправильно?

Ответы

Ответ дал: petyaGavrikov
0

#include <stdio.h>

int main()

{

int n, k, a, max=0;

scanf ("%d", &n);

for (int i=1; i<=n; i++){

 k=2;

 for (int j=2; j<=i/2; j++)

   if (i % j == 0) k++;

 if (k>max) {

  a=i; max=k;

 }

}

printf("%dn%d", a, max);

return 0;

}

Пример:

20

12

6

Вас заинтересует