我开发了一个i = 1
到100
的程序,
数字序列应该如下
1, 100, 2, 99, 3, 98, ...
基于第i个索引。出于好奇,有没有一个天才可以提出一个封闭的公式给出 ith索引:
f(i) = ?
您可以按照上述顺序找到合适的号码吗?
答案 0 :(得分:3)
将函数f(i)
作为表
i | f(i)
---------
1 | 1
2 | 100
3 | 2
4 | 99
5 | 3
6 | 98
.....
您可以将f(i)
作为已关闭的公式:
f(i) = (i + 1) / 2 * (i % 2) + (101 - i / 2) * ((i + 1) % 2)
其中%
代表余数
答案 1 :(得分:1)
int f(int i) {
return i % 2 == 0 ? (i / 2) : 101 - (i / 2);
}
的结果;
1
100
2
99
3
98
4
...