目录
1.题目要求
2.题目解读
此题难点在于对天数的计算,这里我们可以考虑通过循环来算出小鱼游泳的天数
3.代码实现
1.使用switch-case语句
cpp
#include<stdio.h>
int main()
{
int x;
long long int n,way=0;
scanf("%d %lld",&x,&n);
for(int i=1;i<=n;i++)
{
switch(x)//对星期依次判断
{
case 1:case 2:case 3:case 4:case 5:way+=250;
case 6: x++;continue;//周六不进行 进行下一循环
case 7:x=1;continue;//周日清零为星期一 并进行下一循环
}
x++;//工作日情况下 进入下一日
}
printf("%lld",way);
return 0;
}
2.使用for循环
cpp
#include<cstdio>
int main()
{
int n,k,s=0;//周n开始游,过了k天,游了s公里
scanf("%d %d",&n,&k);
for(int i=1;i<=k;i++)//要游k天,所以用循环
{
if(n!=6 && n!=7) s+=250;//如果不是周末则加250
if(n==7) n=1;//如果是周7,那么赋值为1
else n++;//否则n+1
}
printf("%d",s);//输出游了多少公里
return 0;
}
3.不用循环(暴力版)
cpp
#include <stdio.h>
int begin,days,front,mid,end;
int main()
{
scanf("%d %d",&begin,&days);
front=6-begin;
if(front<0)
front=0;
end=(days-8+begin)%7;
if(end>5)
end=5;
mid=(days-8+begin-(days-8+begin)%7)/7*5;
if(begin<=5&&begin+days-1<=5)
printf("%d",days*250);
else
{
if((mid+front+end)>=0)
printf("%d",(mid+front+end)*250);
else
printf("0");
}
}
***新人博主创作不易,希望大家多多点赞关注呀~