Найти натуральное число в диапазоне от 2 до n (n 100) с максимальной суммой делителей (само число в сумму не включать)
Найти натуральное число в диапазоне от 2 до n (n <= 100) с максимальной суммой делителей (само число в сумму не включать). Помогите написать код на языке Си
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
#include <stdio.h>
int main(void)
{
int n;
scanf("%u", &n);
printf("%u", " \x01\x02\x02\x04\x04\x06\x06\b\b\n\n\f\f\f\f\f\f\x12\x12\x14\x14\x14\x14\x18\x18\x18\x18\x18\x18\x1e\x1e\x1e\x1e\x1e\x1e$$$$$$$$$$$$000000000000<<<<<<<<<<<<HHHHHHHHHHHHTTTTTTZZZZZZ`````"[n]);
return 0;
}
console.log(JSON.stringify(" "+Array(101).fill().map((x,i)=>[eval(Array(i).fill().map((x,j)=>i%j?0:j).join`+`),i]).slice(1).sort(([x],[y])=>y-x).map(([,x])=>x).filter((x,i,a)=>Math.min(...a.slice(0,i))>x).reverse().flatMap((x,i,a)=>Array((a[i+1]||101)-x).fill(x)).map(x=>String.fromCharCode(x)).join``).replace(/\\u00(..)/g,"\\x$1"))
.as-console-row-code { word-break: break-all; }