对指定的正数n,试求满足以下平方根不等式的正整数;
√m+√(m+1)+√(m+2)+···+√(2*m)>=n
1.说明:
显然不等式左边是m的增函数,因而对于指定的正数n设置m循环,m从1开始递增1取值,对每一个m求和:
s(m)=√m+√(m+1)+√(m+3)+···√(2*m)
如果s(m) < n;
m增1后继续按上式求和判别,直至s>=n时输出不等式的解。
2.程序设计:
(1).应用循环设计求解;
#include<stdio.h>
#include<math.h>
void main()
{
long i,m;
double n,s,s1;
printf("请输入正数n(n>3):");
scanf("%lf",&n); /*输入任意正数*/
m=0;
while(1)
{
m++;
s=0;
for(i=m;i<=2*m;i++)
s+=sqrt(i); /*对每一个m计算和s*/
if(s>=n)
break;
else
s1=s; /*为以下注明提供依据*/
}
printf("不等式的解为:m>=%ld\n",m);
printf("注:当m=%ld时,s=%.2f;当m=%ld时,s