Что нового

[Все] Тестовый. Бухгалтер Вася.

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Бухгалтеру Васе Шеф поручил особое задание. Ему предстоит просмотреть всю историю существования их компании и определить единый коэффициент роста дохода за определенные i лет.
Но так как компания существует давно, то Вася решил написать программу, которая подберет данный коэффициент за него.
Есть число Н - это доход по истечении первого года, а О - это доход по окончанию i-ого года.
Н * Xi = O
Однако коэффициент может получиться и отрицательным - если выбранные года были убыточными.
Шеф поставил особую задачу. Что бы красивее представить отчет на собрании, коэффициент должен быть целым числом. (НЕ ОКРУГЛЕН) Число с точкой не принимать как ответ вообще. Т.е. если у Вас таковое получается, то программа должна вывести "None"

Вводимые данные:
Переменные $N $O $i.

Возвращаемые программой значения:
Единственное число - коэффициент. Если вдруг такого коэфециента не существует, то программа должна вывести "None"

Пример:
Код:
$N = 2 
$O = 18 
$i = 2

Возвращаемое значение: 3

Примечания к конкурсу:
[list type=decimal]
[*]Вывод значения производить через ConsoleWrite.
[*]Код прятать под тег спойлера.
[*]Каждый код будет протестирован на одной и той же машине. Он будет помещен в функцию, время исполнения которой будет проверяться на 10-15 значений с таймером.
[*]Если программа вернет неверное значении в каком либо из тестов - Ваше сообщение будет отредактировано и написаны значения для которых происходит ошибка.
[/list]

Выигрывает тот, кто быстрее всех напишет достаточно быстрый алгоритм нахождения коэффициента
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
Код:
Func _K($N, $O, $i) ; $H - доход первого года, $O - доход последнего года, $i - число лет
	$x=($O/$N)^(1/$i)
    ConsoleWrite($x & @CRLF)
EndFunc

[box title=Ошибки]
1. Программа не выводит "None" если такого коэффициента не существует
2. Числа с запятой не приемлемы. Только целые числа.[/box]
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Я уже знаю. Вот правильный.
Код:
//// Верный код.
Пока разбирался с условием, уже протестили. :smile:

[box title=Инфо]
Ладно, я засчитаю твой ответ правильным - но только из-за спецефичности решения
По сути если $N = 0 то ответ может быть, а ты это обрезал. Но видно что обрезано только из за этой формулы.
Вобщем ты первый кандидат, и твой ответ я уберу пока =)
Конкурс на этом не оканчивается! Ждем еще варианты!
И еще для всех пользователей!
Не нужно заносить Ваши коды в функции когда выкладываете сюда. Я это сделаю сам, иначе мне сложно заменять все неточности в Ваших кодах.[/box]
 
Верх