#include<stdio.h> long long int f(long long int n,long long int a,long long int b) //n代表总题数,a代表星期一到星期五做的题的数量,b代表星期六和星期天做题的数量 { int flag; long long int sum=0; //flag用来记录最后是在1-5停的,还是在6-7停的 while(n!=0) { n-=5*a; //先算1-5 if(n<0) { flag=1; break; } sum+=5; n-=2*b; //再算6-7 if(n<0) { flag=2; break; } sum+=2; } if(flag==1) //如果是在1-5停的话 { n+=5*a; //加回来,然后算是在第几天的 while(n>a) { n-=a; sum++; } sum++; //不满一天就加回去 } else if(flag==2) { n+=2*b; while(n>b) { n-=b; sum++; } sum++; } return sum; } int main() { long long int a,b,n; scanf("%lld%lld%lld",&a,&b,&n); printf("%lld",f(n,a,b)); return 0; }
flag=n/(a*5+b*2); //flag就是记录总共可以进行多少个完全周 n-=(a*5+b*2)*flag; //然后直接减 sum+=flag*7; //sum就要加上进行的天数
#include<stdio.h> int main() { long long int a,b,n,sum=0; scanf("%lld%lld%lld",&a,&b,&n); long long int flag=n/(a*5+b*2); n-=(a*5+b*2)*flag; sum+=flag*7; if(n/a<=5) { sum+=n/a; if(n/a==5) { sum+=(n-5*a)/b+(n-5*a-b)%1; } else if(n%a>0) { sum++; } }else{ sum+=5+(n-5*a)/b; if((n-5*a)%b>0) { sum++; } } printf("%lld",sum); return 0; }
0.0分
101 人评分
宏定义(C语言代码)浏览:606 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:635 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:594 |
【回文数(二)】 (C++代码)浏览:865 |
C二级辅导-同因查找 (C语言代码)浏览:579 |
C语言训练-数字母 (C语言代码)浏览:582 |
C语言训练-求素数问题 (C语言代码)浏览:719 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:544 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1514 |
WU-蓝桥杯算法提高VIP-勾股数 (C++代码)浏览:1592 |
新城已无旧少年 2022-04-20 21:58:44 |
对,有点小bug当时过了我就没看了,我加了一个if判断,应该好了
Duokai 2023-04-07 19:06:11 |
感谢楼主