问题描述
编一程序求最大整数n及下列不等式左边的值,使得:
1+(1+2)+(1+2+3)+…+(1+2+3+…n)<=m (m为小于32768的正整数)。
输入
输入一个正整数m。(0<m<32768)
输出
一行,输出n的值。
题意:
对于一个给定的m,有这样的式子:1+(1+2)+(1+2+3)+…+(1+2+3+…n)<=m
求满足这个式子的最大整数n。
换言之,就是说给你一个跟n有关的求和式子,进行累加让他大于m,只要一大于m就输出这个n。
解法:
涉及到1到n不定量,所以需要循环结构,根据上面分析得到循环变量是从1到n的所以需要一个n次循环的循环结构,那么有循环那就想到循环体应该是啥呢,首先需要一个变量初始化为0的来记录总和,然后需要讲总和与m比较 是否得到答案,然后其中总和又是由循环变量累加的结果,那么问题就变成需要一个东西记录循环变量累加的结果,需要一个变量求总和的结果,需要比较总和m的if语句来判断是否当前循环变量是否达到n的条件。
参考代码: