Ну, это невероятно просто ... если вас не волнует чрезмерная подгонка , тогда вы можете сделать:
switch(input)
case 0: report 0
case 1: report 1
case 3: report 2
...
default: report whatever
Возможно, вам нужно больше ограничений на проблему, если вы хотите хорошее решение. Вы также можете рассмотреть график функции, чтобы увидеть, есть ли какой-либо очевидный образец, или, возможно, показать задействованные биты. Также было бы полезно узнать, являются ли входы и выходы целочисленными или действительными (предполагается, что функция является непрерывной или дискретной?). Без этой информации немного трудно помочь.
Редактировать
Отображение пропущенных чисел помогает:
0 -> 0
1 -> 1
2 -> 1
3 -> 2
4 -> 3
5 -> 5
6 -> 8
7 -> 13
8 -> 21
9 -> 34
(Это числа Фибоначчи: f (x) = f (x-1) + f (x-2), где f (0) = 0 и f (1) = 1).
PS
Это функция, для которой динамическое программирование или памятка особенно полезны.