Число делителей Имя входного файла: Имя выходного файла: Ограничение по времени:...

0 голосов
133 просмотров

Число делителей Имя входного файла: Имя выходного файла: Ограничение по времени: Ограничение по памяти: 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; } что тут неправильно?


Информатика (22 баллов) | 133 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

#include

int main()

{

int n, k, a, max=0;

scanf ("%d", &n);

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

 k=2;

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

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

 if (k>max) {

 a=i; max=k;

 }

}

printf("%d\n%d", a, max);

return 0;

}

Пример:

20

12

6

(194k баллов)