Я не совсем уверен, что здесь делает математика. - PullRequest
1 голос
/ 04 июня 2019

Может кто-нибудь сказать мне, что здесь делает функция math.ceiling, потому что я думаю, что Math.Pow сделает работу без нее?Вам не нужен остальной код, чтобы понять, потому что код будет делать то же самое без Math.Ceiling.Мне просто нужна информация, проверяет ли Math.Ceiling, что Math.Pow действительно правильно рассчитал его число или это что-то другое.Заранее спасибо

a[i] = a[i-1] * 10 + 45 * (int)(Math.Ceiling(Math.Pow(10, i-1)));

Ответы [ 2 ]

3 голосов
/ 04 июня 2019

Звонить совершенно бессмысленно. Поскольку i является индексом в массиве, оно должно быть положительным целым числом - в противном случае это либо приведет к сбою (если i равно 0 или меньше) из-за того, что он не является допустимым индексом в массиве, либо даже не будет скомпилирован в первое место (если i не является целым числом). При этом Math.pow уже гарантированно вернет целое число в этом случае, так что это никогда не будет иметь никакого значения в выводе.

0 голосов
/ 04 июня 2019

Math.ceiling() является гарантией того, что ваш номер будет целым числом, например, если pow возвращает число с плавающей запятой, Math.ceiling округляет число.Пример: Pow возвращает 2.7, Math.ceiling возвращает 3.

Если предположить, что i уже является целым числом, нет реальной необходимости в функции Math.ceiling(), потому что возврат pow всегда будетцелое число.

Надеюсь, что это ответ, который вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...