python输入整数n计算并输出1+22+333+4444_编程题

四、编程题

1、编写程序:输入一矩形的长和宽,计算该矩形的面积。

2、编程:输入求的半径R,计算并输出球的体积。

3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。

4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积。

四、编程题(共4小题)

1、编写程序,从键盘输入两个整数,求其a2+b2表达式的值,如果其值大于等于100并且小于1000,则输出该值百位上的数字,否则输出该值本身。[提示:使用if语句实现]

2、输入3个字符,找出并打印ASCII码最大的字符。[提示:使用if语句实现]

3、编写程序,从键盘输入两个操作数和一个运算符,完成加、减、乘、除运算,输出运算结果。[提示:分别采用[1]if结构实现[2] switch结构实现]

4、已知银行整存整取存款不同期限的年息利率分别为:

三、编程题

1、写一个程序,程序的功能是:从键盘输入一个整数m,输出1到m(含m)能

被7或11

整除的所有整数,并计算出这些数的个数。例如:如果m为50,则程序输出7、11、14、

21、22、28、33、35、42、44、49共11个数。

2、计算100到1000间有多少个数其各位数字之和是5。

3、从键盘输入整数n,输出1+3+5+7+…前n项的和(输入的n<=10)

4、编写程序,实现如下图形

1

12

123

1234

12345

5、打印100-999以内所有满足条件的数。条件为,这个数等于其个位数,十位数,百位数立方和,如153=1*1*1+5*5*5+3*3*3

四、程序编程题

1、请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。

例如,当n为20时,返回的值为0.583333。

下面已经给出了函数的首部,请编写函数体部分。

double fun(int n)

{

请完成函数体部分

}

2、请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1和自身)之和。规定n的值不大于1000。

### 回答1输入一个小于10的正整数n,可以使用等差数列求和公式,计算1 + 12 + 123 + 1234 + …… 的前n项的和。 公式为:(首项+末项)*项数/2 所以1 + 12 + 123 + 1234 + …… 的前n项的和 = (1 + (1*10^n-1))*n/2 例如: 输入n=3, 1 + 12 + 123 = (1 + (1*10^3-1))*3/2 = (1 + 999)*3/2 = (1000)*3/2 = 1500 ### 回答2: 这个问题可以用数学归纳法来解决。我们将这个序列记为 $a_1,a_2,a_3,\dots$,其中 $a_n$ 表示这个序列的第 $n$ 项。 首先考虑 $a_1$。它的值为 $1$,因为这个序列的第一项就是 $1$。 接下来考虑 $a_n$ 的情况。我们可以将 $a_n$ 视为 $a_{n-1}$ 加上一个整数。具体来说,$a_n = a_{n-1} + n-1$。这个公式是成立的,因为 $a_{n-1}$ 表示的是前 $n-1$ 项的和,加上 $n-1$ 就得到了前 $n$ 项的和。 现在我们可以通过递归的方式来计算这个序列的前 $n$ 项的和了。具体来说,设 $S_n$ 表示前 $n$ 项的和,那么有 $S_1 = 1$,$S_n = S_{n-1} + a_n$。这个公式是成立的,因为前 $n$ 项的和可以通过前 $n-1$ 项的和加上第 $n$ 项来得到。 最后,我们只需要写程序来实现这个递推式即可。代码如下: ``` #include <iostream> using namespace std; int main() { int n; cin >> n; int ans = 0, sum = 1; for (int i=2; i<=n; i++) { sum = sum + i-1; ans = ans + sum; } cout << ans << endl; return 0; } ``` 这个程序首先读入参数 $n$,然后使用两个变量 `ans` 和 `sum` 来保存前 $n$ 项的和和前 $i$ 项的和。在循环中,我们使用上面的递推式来计算 $sum$ 和 $ans$ 的值。最后输出 `ans` 即可。 ### 回答3: 这道题涉及到数列的求和,可以采用数学归纳法。 首先,我们可以列这个数列的前几项: 当 n=1 时,数列为1,和为1; 当 n=2 时,数列为112,和为13; 当 n=3 时,数列为112,123,和为136; 当 n=4 时,数列为112,123,1234,和为1570。 观察数列发现,每个数列的第一项都是1,从第二项开始,每个数列的第i项都是前一个数列的第i-1项加上i。 因此,我们可以列递推公式:Fn=F(n-1)+n,其中F1=1,n为输入的正整数。 接下来是代码实现,我们可以使用循环进行计算: num = int(input("请输入一个小于10的正整数:")) result = 0 # 初始和为0 F = 1 # 初始化F为1 for i in range(1, num+1): result += F # 将前面的数列和加上当前数列的和 F += i # 计算一个数列的第一项 print(result) 以上代码将循环从1~n,每次将当前数列的和加到前面数列的和中,直到循环结束,得到所求的和。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值