第十三届蓝桥杯大赛软件赛省赛_C/C++大学B组_试题C:刷题统计
文章目录
- 赛题描述
- 思路
- 算法实现
赛题描述
思路
[2022年04月14日18时42分28秒_]
初步想到的方法有两种:
1.模拟(这个方法在a,b极限小n极限大的情况下,一定会超时,不适用)
2.数学的方法
================
[2022年04月14日21时39分05秒_]
方法2(可行):
以一周为一个整体x=(5a+2b)对n做除法,取整,再做模拟。
================
[2022年04月14日22时59分16秒_]
a,b,n的数据范围为1-1E18;
================
算法实现
#include<iostream>
//a,b,n的数据范围为1-1E18;
//long long数据范围:-9223372036854775808~+9223372036854775807
typedef long long tl;
int main(void){
tl a,b,n;
scanf("%lld %lld %lld",&a,&b,&n);
tl week = n/(5*a+2*b);
n = n - week*(5*a+2*b);
tl day = 0;
tl tmp = 0;
for(int i = 1;i <= 7;i++){
if(tmp >= n) break;
if(i <= 5){
tmp += a;
}else{
tmp += b;
}
++day;
}
printf("%lld",week*7 + day);
return 0;
}
[2022年04月14日23时49分12秒_]
ok,搞定。
================
[2022年04月16日16时39分35秒_]这工具(应用名称:C语言编译器IDE)不错,手机安卓端C语言编译器,可编译执行小型项目编码。
================
[2022年04月16日23时54分19秒_]C语言编译器IDE
================
更多推荐
第十三届蓝桥杯大赛软件赛省赛_C/C++大学B组_试题C:刷题统计
发布评论