蓝桥杯c++b组练习题自用记录1

填空题-手算or借助excel、python、word算

题目:乘积尾和

此题为填空题,可以借助python运算

如果python不会用,可以借助api文档,打开IDLE然后按F1,即可出现api文档

data = "5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 3051 4434 6704 3594 9937 1173 6866 3397 4759 7557 3070 2287 1453 9899 1486 5722 3135 1170 4014 5510 5120 729 2880 9019 2049 698 4582 4346 4427 646 9742 7340 1230 7683 5693 7015 6887 7381 4172 4341 2909 2027 7355 5649 6701 6645 1671 5978 2704 9926 295 3125 3878 6785 2066 4247 4800 1578 6652 4616 1113 6205 3264 2915 3966 5291 2904 1285 2193 1428 2265 8730 9436 7074 689 5510 8243 6114 337 4096 8199 7313 3685 211"
num = data.split()
s=1
for i in num:
    s=s*int(i)
cnt=0
while s%10==0 :
    s=s//10
    cnt=cnt+1
print(cnt)

题目:星期一

from datetime import *
dt1 = datetime(1901,1,1)
dt2 = datetime(2000,12,31)
print(dt1.weekday())
print(dt2.weekday())
ts = dt2-dt1
print(ts.days//7)

python的datetime函数用法

# 创建一个 datetime 对象
dt = datetime(2022, 1, 1, 12, 30, 45)

# 获取年份
print(dt.year)  # 输出:2022

# 获取月份
print(dt.month)  # 输出:1

# 获取日期
print(dt.day)  # 输出:1

# 获取小时
print(dt.hour)  # 输出:12

# 获取分钟
print(dt.minute)  # 输出:30

# 获取秒
print(dt.second)  # 输出:45

题目:迷宫

此题纯手画图可解出答案,如下图答案为31

题目:门牌制作

此题先用编辑器写出1-2020的数字,然后再借助word检索功能,答案为624

#include<bits/stdc++.h>
using namespace std;
int main(void){
  int i;
  for(i=1;i<=2020;i++)
    printf("%d",i);
  return 0;
}

题目:付账问题-数学分析

#include<bits/stdc++.h>
using namespace std;
const int M=5e5;
long long a[M];//带钱金额 

int main(){
	int n;//人数 
	long long S;//消费的钱 
	
	scanf("%d %lld",&n,&S);
	
	for(int i=1;i<=n;i++)
		scanf("%lld",&a[i]);
	
	sort(a+1,a+n+1);//从小到大排序 
	
	double avg = 1.0*S/n;//平均数 
	double sum = 0.0;
	
	for(int i=1;i<=n;i++){
		//从小到大排序,前面的不够钱
		//说明第i个人后面都可以和他出一样的钱 a[i]*(n+1-i)>=S
		if(a[i]*(n+1-i)<S){//不够钱
			//标准差根号下里面的平方和公式 
			sum=sum+(a[i]-avg)*(a[i]-avg);
			S=S-a[i];//更新剩余的钱数 
		}
		else{//非常有钱的,不管怎么平均都够钱 
			double cur_avg = 1.0*S/(n+1-i);
			sum=sum+(cur_avg-avg)*(cur_avg-avg)*(n+1-i);
			break;
		} 
	}
	printf("%.4lf",sqrt(sum/n));
  	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值