Для какого значения n g (47,n) вернет 5?

#python #function

#python #функция

Вопрос:

я новичок в Python. пока я выполнял упражнения, я только что столкнулся с этим вопросом. Во-первых, как я могу это решить. Во-вторых, какова роль res=0 и res=res 1 ?

Для какого значения n g (47,n) вернет 5?

 def g(m, n):
    res=0
    while m>=n:
        res=res 1
        m=m-n
    return res
 

Комментарии:

1. Подсказка: это как-то связано с разделением по модулю, вы можете сравнить g функцию с python / и % операторами и посмотреть, насколько они похожи.

Ответ №1:

Математически целые числа должны попадать в интервал m/6 < n <= m/5 , который дает только use 8 и 9 как допустимые n значения.

Чтобы проверить результат, вы можете попробовать

 >>> g(47,7)  
6
>>> g(47,8)  
5
>>> g(47,9)    
5
>>> g(47,10)   
4
 

Если вы не возражаете, проверьте все возможные значения, вы можете попробовать

 [[n, g(47,n)] for n in range(1,47)]
 

что дает

 >>> [[n, g(47,n)] for n in range(1,47)]
[[1, 47], [2, 23], [3, 15], [4, 11], [5, 9], [6, 7], [7, 6], [8, 5], [9, 5], [10, 4], [11, 4], [12, 3], [13, 3], [14, 3], [15, 3], [16, 2], [17, 2], [18, 2], [19, 2], [20, 2], [21, 2], [22, 2], [23, 2], [24, 1], [25, 1], [26, 1], [27, 1], [28, 1], [29, 1], [30, 1], [31, 1], [32, 1], [33, 1], [34, 1], [35, 1], [36, 1], [37, 1], [38, 1], [39, 1], [40, 1], [41, 1], [42, 1], [43, 1], [44, 1], [45, 1], [46, 1]]