1.6.2 調和級數(shù)不等式
12<1+1/2+1/3+...+1/m<13
試求滿足上述不等式的整數(shù)m。
本題算法如下:
為一般設計,設和s的整數(shù)部分為n,設置i循環(huán),可預置1000000次。求和s=s+1/i過程中若出現(xiàn)s>n,此時c=i為區(qū)間的下限。若出現(xiàn)s>n+1,此時d=i-1為所求區(qū)間的上限,然后退出循環(huán)。
設計時務必注意,出現(xiàn)s>n且賦值c=i之后的繼續(xù)求和過程中,條件s>n始終成立,于是由初值c=i確定的下限c也隨之改變。為防止確定了下限c后再發(fā)生改變,引入中間變量s0,s0賦初值n+1,把判別條件改為(s>n and sn(自然會有sn and s 程序代碼如下:
#include
void main()
{
float s,s0,c=0,d=0,i;
int n;
printf("求n<1+1/2+1/3+...+1/m scanf("%ld",&n);
s=0;
s0=(float)n+1;
for(i=1;i<=1000000;i=i+1)
{
s=s+(float)1/i;
if(s>n&&s if(s>n+1){ d=i-1;break;}
}
printf("滿足不等式的m為: %.f < m < %.f\n",c,d);
}
12<1+1/2+1/3+...+1/m<13
試求滿足上述不等式的整數(shù)m。
本題算法如下:
為一般設計,設和s的整數(shù)部分為n,設置i循環(huán),可預置1000000次。求和s=s+1/i過程中若出現(xiàn)s>n,此時c=i為區(qū)間的下限。若出現(xiàn)s>n+1,此時d=i-1為所求區(qū)間的上限,然后退出循環(huán)。
設計時務必注意,出現(xiàn)s>n且賦值c=i之后的繼續(xù)求和過程中,條件s>n始終成立,于是由初值c=i確定的下限c也隨之改變。為防止確定了下限c后再發(fā)生改變,引入中間變量s0,s0賦初值n+1,把判別條件改為(s>n and s
#include
void main()
{
float s,s0,c=0,d=0,i;
int n;
printf("求n<1+1/2+1/3+...+1/m
s=0;
s0=(float)n+1;
for(i=1;i<=1000000;i=i+1)
{
s=s+(float)1/i;
if(s>n&&s
}
printf("滿足不等式的m為: %.f < m < %.f\n",c,d);
}