Найти натуральное число в диапазоне от 2 до n (n  100) с максимальной суммой делителей (само число в сумму не включать)

Найти натуральное число в диапазоне от 2 до n (n <= 100) с максимальной суммой делителей (само число в сумму не включать). Помогите написать код на языке Си


Ответы (1 шт):

Автор решения: Qwertiy

https://ideone.com/G6uvJy

#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; }

→ Ссылка