解题思路:
首先题目中给出了工作日和双休日写的数目,以及总共的题量,由于最大限制已经到达10的18次方,所以需要用long long int类型,同时由于数很大,很容易造成超限,所以不能从第一天开始,一天一天的循环,要先计算有多少个整周,对整周处理完之后,再去处理剩余的几天(最多六天),这样就可以满足题意了,并且不超限。
注意事项:类型要足够大,long long int
参考代码:
#include<bits/stdc++.h> using namespace std; long long int a,b,n; long long int d=0;//记录已经做过的题 long long int m=1;//记录星期 long long int h=0;//记录天数 int main(){ cin>>a>>b>>n; long long int z[7]={b,a,a,a,a,a,b}; long long int sum=a*5+b*2; long long int u=n/sum; d=sum*u; h=7*u; while(d<n){ d+=z[m%7]; m++; h++; } cout<<h; return 0; }
0.0分
0 人评分
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1750 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:770 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:377 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1245 |
【蟠桃记】 (C语言代码)浏览:1034 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:548 |
字符逆序 (C语言代码)浏览:617 |
回文数字 (C语言代码)浏览:2510 |
A+B for Input-Output Practice (VI) (C语言代码)浏览:558 |
简单的a+b (C语言代码)浏览:488 |