已知S=1+1/2+1/3+……+1/n,当其值跨越正整数k(k<16)时,n的取值为几多呢?小编以C++为例与大师分享编程经验。
算式S=1+1/2+1/3+……+1/n,可以用sum+=1/n累加的方式实现,当S年夜于k的值时,遏制累加,此时的n值即为要求的值。
起首,界说三个整型变量,保留整数、要求的项数和判定变量。
界说一个实型变量,保留算式的和。
给变量n和sum赋初值0,给判定变量赋初值1。
输入一个正整数,保留在变量k中。
用while语句执行轮回,判定前提为judge。
变量n的值自加1,如下图所示。
计较算式S=1+1/2+1/3+……+1/n的和,保留在变量sum中。
用if语句判定,若是sum>k,则将变量judge的值点窜为0。
最后,输出算式跨越整数k时n的值。
运行法式,当输入一个正整数后,电脑就管帐算出算式S=1+1/2+1/3+……+1/n年夜于正整数k时n的值。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!