蓝桥杯自用

第四题

2020第四题:跑步锻炼
题目描述

小蓝每天都锻炼身体。正常情况下,小蓝每天跑1千米。如果某天是周一或者月初(1日),为了激励自己,小蓝要跑2千米。如果同时是周一或月初,小蓝也是跑2千米。小蓝跑步已经坚持了很长时间,从2000年1月1日周六(含)到2020年10月1日周四(含)。请问这段时间小蓝总共跑步多少千米?

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int run[2][13]={
  {0,31,29,31,30,31,30,31,31,30,31,30,31},{0,31,28,31,30,31,30,31,31,30,31,30,31}};
//run[0]表示闰年每个月的天数,run[1]表示非闰年的天数
int main()
{
	int y1,m1,d1;//初始日期
	y1=2000,m1=1,d1=1;
	int tmp=0;
	
	int week_num=6;//表示当前你是周几 
	
	int sum=0;//小蓝最终跑步的公里 
	while(!(y1==2020&&m1==10&&d1==1)){
		if(week_num==1||d1==1) sum=sum+2;//非正常+2 
		else sum=sum+1;//正常情况,包含当天 
		tmp++; 
		//天数+1
		d1++;
		week_num++;
		if(week_num==8) week_num=1;//如果星期八,变成星期一 
		
		//判断天数是否合法
		int f=(y1%4==0&&y1%100!=0)||(y1%400==0)?0:1;
		if(d1>run[f][m1]){d1=1;m1++;} 
		//判断月份是否合法
		if(m1==13){m1=1;y1++;} 
	} 
	cout<<tmp+1<<endl;//最后一一天没算上,所以加一 
	cout<<week_num<<endl;
	sum=sum+2;//最后一天是月初所以要加2 
	cout<<"小蓝一共跑了"<<sum<<"km"<<endl; 
	return 0;
} 

答案8879

2019第四题:数的分解(10分)

题目描述
把 2019分解成 3个各不相同的正整数之和,并且要求每个正整数都不包
含数字2和4,一共有多少种不同的分解方法?
注意交换 3个整数的顺序被视为同一种方法,例如 1000+1001+18和
1001+1000+18被视为同一种。

#include<iostream>
using namespace std;

int i,j,z;

bool is(int x){
	int tmp=0;
	while(x){
		t
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值