1.6.3 平方根不等式
对指定正整数n,试求满足上述平方根不等式的最小整数m。
本题算法如下:
显然,不等式左边是m的增函数,因而,对于指定的n,设置m循环m从1开始递增1取值。对每一个m求和:
若s<n,m增1后继续按上式求和判别,直至上述s>n时,输出不等式的解。
程序代码如下:
#include<stdio.h>
#include<math.h>
void main()
{
int i,n,m;
double s;
printf("求满足sqrt(m)+sqrt(m+1)+...+sqrt(2m)>n 的整数m\n请输入n:");
scanf("%d",&n);
for(m=1;m<=10000;m++)
{
s=0;
for(i=m;i<=2*m;i++)
s=s+sqrt(i);
if(s>n) break;
}
printf("不等式的解为:m > %d\n",m);
printf("此时 s = %.2f\n",s);
}
程序运行结果如下:
责任编辑:cyth