注册 登录
编程论坛 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
rjsp2018-04-18 20:32
f(i) = 2 * ceil( sqrt(i+0.0) ) - 1
g(i) = (i-1)*(i-1)/4 + 1
#3
rjsp2018-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