蓝桥等考-中级-循环嵌套-练习

蓝桥等考-中级-循环嵌套-练习

Open Judge-1.5-34 求阶乘的和

http://noi.openjudge.cn/ch0105/34/

描述

给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+...+n!)

输入

输入有一行,包含一个正整数n(1 < n < 12)。

输出

输出有一行:阶乘的和。

样例输入

5

样例输出

153

参考程序

#include<bits/stdc++.h>
using namespace std;

int main(){
	int n;
	long long s=0,t=1;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		t*=i;
		s+=t;
	}
	printf("%lld\n",s);
	return 0;
}

Open Judge-1.5-35 求出e的值

http://noi.openjudge.cn/ch0105/35/

描述

利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。

输入

输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。

输出

输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。

样例输入

10

样例输出

2.7182818011

提示

1、e以及n!用double表示

2、要输出浮点数、双精度数小数点后10位数字,可以用下面这种形式:

printf("%.10f", num);

参考程序

#include<bits/stdc++.h>
using namespace std;

int n;
double e=1,sum=1;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		sum=sum*i;
		e+=1/sum;
	}
	cout<<fixed<<setprecision(10)<<e;
}

Open Judge-1.5-36 计算多项式的值

http://noi.openjudge.cn/ch0105/36/

描述

假定多项式的形式为xn+xn-1+…+x2+x+1,请计算给定单精度浮点数x和正整数n值的情况下这个多项式的值。

输入

输入仅一行,包括x和n,用单个空格隔开。x在float范围内,n <= 1000000。

输出

输出一个实数,即多项式的值,精确到小数点后两位。保证最终结果在float范围内。

样例输入

2.0 4

样例输出

31.00

参考程序

#include<bits/stdc++.h>
using namespace std;

float x;
int n;
int main(){
	cin>>x;
	cin>>n;
	float f=1,ans=1;
	for(int i=1;i<=n;i++){
		f=f*x;
		ans+=f;
	}
	cout<<fixed<<setprecision(2)<<ans;
}

Open Judge-1.5-41 数字统计

http://noi.openjudge.cn/ch0105/41/

描述

请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。

比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。

输入

输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。

输出

输出共 1 行,表示数字 2 出现的次数。

样例输入

样例 #1:
2 22

样例 #2:
2 100

样例输出

样例 #1:
6

样例 #2:
20

参考程序

#include<bits/stdc++.h>
using namespace std;

int main(){
	int L,R,ans=0;
	cin>>L>>R;
	for(int i=L;i<=R;i++){
		int tmp=i;
		while(tmp>0){
			if(tmp%10==2){
				ans++;
			}
			tmp/=10;
		}
	}
	cout<<ans;
	return 0;
}
posted @ 2023-03-22 14:46  new-code  阅读(61)  评论(0)    收藏  举报