杭电OJ_2018(C++版)

#include <iostream>
using namespace std;
int main()
{	int n,sum(0);
	int s[60];
	while(cin>>n&&n!=0)
	{	for(int i=0;i<=n;++i)
		{	if(i<5)
				s[i]=i;
			if(i>=5)
				s[i]=s[i-1]+s[i-3];
		}
		cout<<s[n]<<endl;		
	}
}

tips:

其实是很简单很简单的题,但是写了很久,没弄懂数学关系..其实就是(去年的牛)+(新生的小牛),(新生的小牛)=(四年前的牛),因为(四年前的牛)都有生育能力,对应下来就是(i-3).

### 杭州电子科技大学2018年复试笔试题目 根据已有的资料,杭州电子科技大学2018年计算机研究生复试笔试部分的信息如下: #### 题目概述 2018年的杭电计算机学院复试题共有三道编程题,时间为90分钟,仅需在答题纸上作答,无需上机操作[^2]。 #### 编程题目详情 以下是具体的三道编程题目描述: 1. **判断三个数是否能构成三角形** 给定三个正整数 \(a\)、\(b\) 和 \(c\),判断它们能否作为边长组成一个合法的三角形。 判断条件为:任意两边之和大于第三边,即满足以下关系即可认为可构成三角形: \[ a+b>c, b+c>a, c+a>b \] 2. **三天打渔两天晒网** 这是一类经典的周期性问题。假设某人按照“连续工作三天休息两天”的模式循环生活,给定日期编号 \(n\)(从第1天开始计),求该人在第 \(n\) 天的状态——是在工作还是在休息。 3. **判断是否为丑数** 定义丑数为只包含质因数 2、3 或 5 的正整数。例如,前几个丑数依次为 1、2、3、4、5、6、8、10……编写程序输入一个正整数 \(m\),判断其是否为丑数。如果 \(m\) 只能被分解成 2、3 或 5 的乘积,则返回 true;否则返回 false。 #### 示例代码实现 以下是上述三道题目的简单实现方法: ```python # 第一题:判断三个数是否能构成三角形 def can_form_triangle(a, b, c): if (a + b > c) and (b + c > a) and (c + a > b): return True else: return False print(can_form_triangle(3, 4, 5)) # 输出True # 第二题:三天打渔两天晒网 def work_or_rest(n): cycle = n % 5 if cycle == 0 or cycle == 4: # 对应于第五天和第四天 return "Rest" else: return "Work" print(work_or_rest(7)) # 输出"Rest" # 第三题:判断是否为丑数 def is_ugly(m): while m != 1: if m % 2 == 0: m //= 2 elif m % 3 == 0: m //= 3 elif m % 5 == 0: m //= 5 else: return False return True print(is_ugly(10)) # 输出True ``` 以上就是关于2018年杭州电子科技大学计算机研究生复试笔试题的相关信息[^1]^。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值