什锦披萨(人人网笔试)

题目描述:

小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;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值