PTA刷题笔记(C语言) | 7-39 龟兔赛跑 (20分)

开始刷题,感觉代码量和基础太渣了,导致数据结构不会,重头慢慢刷吧~
在这里插入图片描述


1、题目

在这里插入图片描述
输入样例:

242

输出样例:

@_@ 726


2、代码

#include<stdio.h>
int main(){
	int min;
	scanf("%d",&min);
	int s1=0,s2=0,run=10,rest=-1;
	while(min--){
		s1+=3;
		if(run-->0){
			s2+=9;
		}
		if(run==0){
			if(s2>s1&&rest!=0){
				rest=30;
			}
			else{
				run=10;
			}
		}
		if(rest--==0){
			run=10;
		}
	}
	if(s1>s2){
		printf("@_@ %d",s1);
	}
	else if(s1<s2){
		printf("^_^ %d",s2);
	}
	else{
		printf("-_- %d",s2);
	}
	
	return 0;
}

在这里插入图片描述

3、讨论

这个题很有意思的哈,你要找到一个变量,用来衡量这个关系,时间确实更好一些,不过撕裂时间不是特别好,模拟自然时间,这样就能更好的写好龟兔赛跑的过程。

定义两个变量,一个 run,一个 rest,用来实现运动和休息的过程,如果消耗完了,再重新赋予,这样子。兔子每跑完十分钟,都需要验证一下自己和乌龟谁跑得快,如果自己快同时没有休息的话,那么休息30分钟,如果休息结束,那么跑十分钟。

妙啊!!!
在这里插入图片描述
在这里插入图片描述

发布了257 篇原创文章 · 获赞 5220 · 访问量 88万+

猜你喜欢

转载自blog.csdn.net/TeFuirnever/article/details/105536781
今日推荐