极客20届 第一周练习

前言

第一周主要希望大家能够把握C语言语法 因此出的题目大部分是基础语法题

另外也会设有简单的数据结构题 来给学有余力的同学展示自己的水平

结果与结题过程等同重要

一题多解 、正确的分析出算法的时间复杂度与空间复杂度 有加分


第一题 斐波那契的兔兔

知识点

  • 递归
  • 动态规划 记忆化搜索
  • 实现键值对应的数据结构 如哈希表 或者数组骚操作

段位
黑铁~黄金

背景
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问n个月后的兔子总数为多少对?

输入
输入正整数 n

输出
兔子的个数

数据范围
程序能解决的n越大越好 不限制

示例

Input: 1

Output: 1

Input: 3

Output: 2

Input: 8

Output: 21


第二题 递归吃桃子

知识点

  • 小学数学
  • 递归

段位
黑铁

背景
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?

输入
输入正整数 n

输出
第一天的桃子数

加分
如果题目的第十天 我改成第n天(n为输入参数) 该怎么办呢?


第三题 快乐数

知识点

  • 暴力模拟
  • 找规律
  • 数据结构(如哈希表)

段位
白银~黄金

背景
编写一个算法来判断一个数 n 是不是快乐数。
如果 n 是快乐数就返回 True ;不是,则返回 False 。

「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。

输入
输入正整数 n

输出
bool 判断是否为快乐数
是:true
否:false

数据范围
程序能解决的n越大越好 不限制

示例

Input: 19

Output: true
explanation:
在这里插入图片描述

第四题 排序

知识点

  • 字符串操作
  • 排序算法
  • 数组或者其他同样效果的数据结构

段位
白银~黄金

背景
现有一堆由数字和字母组成的字符串,请找出其中数字,分离出来 并排序 输出

输入
一串由数字和字母组成的字符串

输出
一串从左到右,由小到大 排序好的数字 要求去重

数据范围
程序能解决的字符串长度n 越大越好 不限制

示例

Input: ewe136d5s2n4j5k9jh7

Output: 12345679

后记 要求

请上交程序给你的组长 提供以下材料:

  • 源代码 .c .cpp 或者.java
  • 思路说明 建议不要仅仅用注释代替思路说明 除非真的很简单:)
  • 每周周日下午为上交截止时间 早交有加分


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部