月生沧海格


私信TA

用户名:dotcpp0600723

访问量:3730

签 名:

等  级
排  名 2286
经  验 2369
参赛次数 1
文章发表 9
年  龄 0
在职情况 学生
学  校 菏泽学院
专  业

  自我简介:

解题思路:     以七天为一个周期,除于判断需要几个周期,取余判断剩余题数完成需要天数是五天内还是五天外,最后将天数相加。


注意事项:    第一眼想到用循环,写下来会发现超时了


超时代码:

#include<stdio.h>

int main()

{

long long a,b,n,s=0;

int flat=1,fflat=0;    //flat表示周一到周天,fflat表示周期数

scanf("%lld%lld%lld",&a,&b,&n);

while(s<n)            // s为完成题数

{

if(flat<=5) s=s+a;

else s=s+b;

flat++;

if(flat==8){

flat=flat-7;

fflat++;

}

}

printf("%lld",fflat*7+flat-1);

return 0;

}


上面的代码在c语言网上会超时,在洛谷里满分



参考代码如下:

#include<stdio.h>

int main()

{

long long a,b,n,yushu=0,ss=0,s1=0;

scanf("%lld%lld%lld",&a,&b,&n);

ss=n/(5*a+2*b);         //ss是几个周期

yushu=n%(5*a+2*b);

if(yushu<=(5*a))             //剩余题数可以在五天内完成

{

if(yushu%a==0) s1=yushu/a;

else s1=yushu/a+1;

}

else{                                           //剩余题数五天完不成

if((yushu-5*a)%b==0) s1=(yushu-5*a)/b+5;

else s1=(yushu-5*a)/b+1+5;

}

printf("%lld",ss*7+s1);        //一个周期七天

return 0;

}


 

0.0分

9 人评分

  评论区

6
2023-02-12 16:39:35
为什么要long long 型的,int为什么不可以呢
2023-01-11 15:25:56
  • «
  • 1
  • »