什锦披萨(人人网笔试)

来源:互联网 发布:大卫芬奇电影知乎 编辑:程序博客网 时间:2024/04/29 09:56

题目描述:

小M想要宴请n个客人,她为他们准备了n个不同口味的披萨,分别盛装在n个大盘子中。但是由于她不知道每位客人喜欢什么口味,所以她希望每位客人都能品尝到这n种不同口味的披萨。于是她将每个披萨都均分成了n片,现在她想把这些分开后的披萨重组成n个包含n种不同口味的披萨。为此她取来了一个空的小盘子,小盘子只能容纳一片披萨。小M可以进行如下操作:

1. 将某个大盘子上的一片披萨放置到另一个大盘子的空余位置,注意任意时刻每个大盘子上至多只能有n片披萨;

2. 将某个大盘子上的一片披萨放置到小盘子中,如果此时小盘子是空的话;

3. 将小盘子上的披萨放置到某个大盘子的空余位置。

请你帮忙计算小M最少要进行多少次操作,才能完成目标。

输入

第一行包含一个整数n。2<=n<=100

输出

输出对应的答案。


样例输入

3

样例输出
7


思路:这道题就是找规律,只要规律找到了,代码就很简单了,下面多写几个例子:

当n=2时:M=3;

当n=3时:M=7;

当n=4时:M=13;

当n=5时:M=21;

当n=6时:M=31;

.........

可以发现规律:M=n*(n-1)+1=n*n-n+1。所以代码如下:


#include <iostream>using namespace std;int main(){    int n;    cin >> n;    int res = n*(n-1)+1;    //或者res = n*n-n+1;    cout << res << endl;    return 0;}



原创粉丝点击