请求指导,之前有一个解题思路但是后来发现并不可行,我不知道该如何化简这个式子今儿求出边界值然后求n的取值范围

img


之前想着求极限将式子化简但是发现这个函数是分散的没有极限值,然后我的思路就被限制了,不知道该如何解决这类问题,请求高人指点谢谢

你做个函数计算分母就行了,然后倒数求和,当和值在指定范围内就OK

#include<stdio.h>
int main()
{
    
    double fm = 0,sum = 0;
    int n,m,i,k = 1;
    int min = 0;
    scanf("%d,%d",&n,&m);
    while(sum < m)
    {
        fm += 1.0/k;
        k++;
        sum += 1/fm;
        if(sum > n && sum < m && min == 0)
            min = k;

    }
    printf("%d<=n<=%d\n",min,k);

    return 0;
}

仅供参考


#include <stdio.h>

void resolution(int m, int n)
{
    double sum_t = 1;
    double sum = 1;
    
    for (int i = 2; ; i++) {
        double temp = (double)1 / i;
        sum_t += temp;
        sum += 1 / sum_t;
        
        if (sum > m && sum < n) {
            printf("n= %d\n", i);
        } else if (sum >= 2011) {
            break;
        }
    }
}

int main()
{
    resolution(2010, 2011);
    
    return 0;
}