Итак, основываясь на том, что вы здесь описываете, вам нужен цикл while, так как вы хотите продолжать что-то делать, пока данное условие не станет истинным.
lastOutput = 0; # an arbitrary starting value: the last output value
# needs to be shared between loop cycles, so its
# scope must be outside the while loop
startingValue = # whatever you start at for input
finished = False # flag for tracking whether desired value has been reached
while (!finished):
# body of loop:
# here, you need to take lastOutput, run it through the
# function again, and check if the new output value is the
# same as the input that created it. If so, you are done,
# so set the flag to True, and note that the correct value is now stored in lastOutput
# If not, set the new output as lastOutput, and go again!
# ...and now finish up with whatever you want to do now that you've
# found the value (print it, etc.)!
Что касается логики для проверки того, что значения совпадают, вам нужно будет иметь какое-то пороговое значение для точных целей (в противном случае он будет работать вечно!), И я рекомендовал бы писать, что проверить свой собственный метод для модульности.
Надеюсь, что это поможет, и просто дайте мне знать, если вам нужно, чтобы я опубликовал более актуальный код (я старался не выдавать слишком много фактического кода).
Цикл 'while'. – shashwat
@shashwat - Это именно то, что ** комментарий, который я собирался опубликовать ... – mgilson
Я не буду задавать лучшие вопросы, если я не знаю, что с ними не так. пожалуйста, объясните нижнюю грань и дайте конструктивную критику. –