编程论坛
注册
登录
编程论坛
→
C++教室
新手求教,这样的题怎么做
九余
发布于 2018-04-18 19:35, 1095 次点击
已知
数列1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7……。求:数列第40项的值;值为17的第一个数列是数列的第几项C++
2 回复
#2
rjsp
2018-04-18 20:32
f(i) = 2 * ceil( sqrt(i+0.0) ) - 1
g(i) = (i-1)*(i-1)/4 + 1
#3
rjsp
2018-04-19 08:55
程序代码:
#include
<iostream>
#include
<cmath>
using
namespace
std;
unsigned
f(
unsigned
i )
//
返回下标为i的项的值
{
return
unsigned
(
2
* ceil( sqrt(i+
0.0
) ) -
1
);
}
unsigned
g(
unsigned
i )
//
返回值为i的项的下标
{
return
(i-
1
)*(i-
1
)/
4
+
1
;
}
int
main(
void
)
{
cout
<< f(
40
) <<
'
\n
'
<< g(
17
) << endl;
}
1