georgi111 написа:1. (94 година, задача B1) Да се намерят всички естествени числа $n$, за които неравенството $|n-m^2| \le 250$ е в сила за точно 15 цели неотрицателни числа $m$.
Звучи като интересна задача!
Да се опитаме да махнем модула и да представим неравенството като 2 функции на m:
Едната функция когато $n > m^2$:
$n-m^2 \le 250$
И когато <:
$-n+m^2 \le 250$
Изразяваме като функции на m:
$m_1 = \sqrt{n - 250}$
И
$m_2 = \sqrt{n + 250}$
И сега отговора който търсим е някъде около числото което се получава когато:
$m_2-m_1 = 15$
$\sqrt{n + 250} - \sqrt{n - 250} = 15$
Да го решим като вдигнем на квадрат и после пак и ще получим да решим квадратно уравнение, на което единия корен няма да е решение:
In [288]: solve(sqrt(x+250) - sqrt(x-250) - 15)
Out[288]: [12025/36]
In [289]: 12025/36
Out[289]: 334.02777777777777
Това не ни помага много, освен, че има отговори около 334. Да видим за 14 и 16:
In [290]: float(solve(sqrt(x+250) - sqrt(x-250) - 14)[0])
Out[290]: 367.8775510204082
In [291]: float(solve(sqrt(x+250) - sqrt(x-250) - 16)[0])
Out[291]: 308.140625
Значи между 308 и 367 някъде ще има стойности за които редица от точно 15 m ще отговарят на условието. Това са 59 числа. Освен да ги проверим едно по едно друг начин не виждам. Да накараме компютъра да ги провери:
- Код: Избери целия код
In [284]: def ff():
...: X,Y=[],[]
...: for n in range(1,450):
...: c = 0
...: for m in range(1000):
...: if abs(n-m**2)<=250:
...: c+=1
...: if c==15:
...: print(n,end=", ")
...: X.append(n); Y.append(c)
...: return X,Y
In [285]: X,Y = ff()
315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
Ок. Горните числа са точното решение. Да видим графиката:
In [286]: pl.plot(X,Y); pl.show()

- red15_0.png (26.39 KiB) Прегледано 509 пъти
Хм. нещо странно изглежда. Да зуумнем около 15:

- red15_1.png (26.11 KiB) Прегледано 509 пъти
Много интересно! Имаме прекъсване между 325 и 332, което чак сега забелязваме в горната редица.
Това решение макар и точно използва компютър. Интересно ще ми е ако някой даде решение без компютър.