Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 12, 2017 15:02:49

yyyuuu
Зарегистрирован: 2017-06-08
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Простая задача

Всем привет.
Ребята подскажите, решать за меня не стоит.
Но прошу помощи в другом. Объясните что требуется от меня в задании Я понять толком не могу

Имеется монотонно возрастающая последовательность
вещественных чисел у, рассчитываемых по закону:

y = (x * x + 100) / (x + 200) при 1 ≤ х ≤ 100 (х – целое число).

Напечатать все числа последовательности, меньшие заданного
числа m (0,52 ≤ m ≤ 33,7).

 x = int(input())
z = 1
if x >= 1 and x <= 100:
   while 0.52 <= x and  x >= 33.7:
      z =z + (x*x + 100)/(x + 200)
      print(z, end ="_")
Мой вариант. На сколько правильный мой вариант?

Офлайн

#2 Окт. 12, 2017 15:14:38

yyyuuu
Зарегистрирован: 2017-06-08
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Простая задача

 m = int(input())
x = 1
z = float(1)
if x >= 1 and x <= 100:
   while z >= 0.52 and z <= 33.7:
      z = z + (x*x + 100)/(x + 200)
      print(z, sep ="_")
      x += 1
просто подскажите Я правильно понял решение?

Отредактировано yyyuuu (Окт. 12, 2017 15:21:32)

Офлайн

#3 Окт. 12, 2017 15:19:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Простая задача

wolfram. график

  
>>> def f(x):
...     return (x * x + 100) / (x + 200)
... 
>>> m = 5
>>> for x in range(1, 100 + 1):
...     y = f(x)
...     if y < m:
...         print(y)
... 
0.5024875621890548
0.5148514851485149
0.5369458128078818
0.5686274509803921
0.6097560975609756
0.6601941747572816
0.7198067632850241
0.7884615384615384
0.8660287081339713
0.9523809523809523
1.04739336492891
1.150943396226415
1.2629107981220657
1.3831775700934579
1.5116279069767442
1.6481481481481481
1.792626728110599
1.944954128440367
2.105022831050228
2.272727272727273
2.4479638009049776
2.630630630630631
2.820627802690583
3.017857142857143
3.2222222222222223
3.433628318584071
3.6519823788546257
3.8771929824561404
4.109170305676856
4.3478260869565215
4.593073593073593
4.844827586206897
>>>



Отредактировано py.user.next (Окт. 12, 2017 15:22:24)

Офлайн

#4 Окт. 12, 2017 16:51:13

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2832
Репутация: +  186  -
Профиль   Отправить e-mail  

Простая задача

Да что там решать! Сначала получаешь последовательность, а затем убираешь всё лишнее.

 >>> m = 12.5
>>> [ y for y in ((x * x + 100.) / (x + 200.) for x in xrange(100)) if y < m ]
[0.5, 0.5024875621890548, 0.5148514851485149, 0.5369458128078818, 0.5686274509803921, .....]



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Окт. 12, 2017 17:18:40

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Простая задача

Rodegast
 xrange(100)
x прин. [1; 100]



Отредактировано py.user.next (Окт. 12, 2017 17:18:50)

Офлайн

#6 Окт. 12, 2017 17:20:47

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2832
Репутация: +  186  -
Профиль   Отправить e-mail  

Простая задача

> x прин.

Да не суть важно. На алгоритм это никак не влияет.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Окт. 12, 2017 17:21:28)

Офлайн

#7 Окт. 13, 2017 00:10:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Простая задача

Rodegast
Да не суть важно.
Это область определения функции.
yyyuuu
при 1 ≤ х ≤ 100 (х – целое число).
Ты берёшь ноль, который не входит в область определения, - то есть значение функции не существует в той точке. И одну точку не добираешь справа.

Rodegast
 [0.5, 0.5024875621890548, 0.5148514851485149
Вот это значение 0.5 не должно там быть. Значения функции нет такого.
А при m = 33.7, у тебя не берёт значение 33.6, потому что не доходит до него.



Отредактировано py.user.next (Окт. 13, 2017 00:16:41)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version