目录
密码锁

** 密码锁:** <Excerpt in index | 首页摘要>

<The rest of contents | 余下全文>

密码锁
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 153(129 users) Total Accepted: 135(126 users) Rating: Special Judge: No
Description

小D在尝试打开一个很有挑战性的密码锁,这个锁上面一共有 n 个按钮用来打开。

小D必须输入之前设置好的密码序列才能打开这个锁。每次按下一个按钮,这个按钮要么陷入(这个表示小D猜对了密码当前这位的数并准备按密码序 列的下一个按钮)要么所有的按钮恢复原状(表示当前位按了错误的按钮)。当所有的按钮全部按下的时候,密码锁就会打开。

小D想知道她现在想要打开这个n位的锁最坏情况下要按多少次按钮。   

Input
有多组测试数据。

每组有一个数n(1 ≤ n ≤ 2000)。

Output
输出最坏按按钮的次数。
Sample Input
3

6

484

Sample Output
7

41

18897054

Author
曾卓敏 @hrbust

找规律的题,

寻找第一按钮 按n次

寻找第二按钮 按(n-2)*2 +1

寻找第三按钮 按 (n-3)*3+1

。。。

寻找第k按钮 按(n-k)*k+1

其中 1<k<n;

寻找最后一个按钮只按了1次

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{
int n;
while(~scanf("%d",&n))
{
long sum=n+1+n-2;
int i;
for(i=2;i<=n-1;i++)
{
sum+=(n-i)*i;
}
printf("%ld\n",sum);
}
return 0;
}
文章作者: 爱笑的k11
文章链接: http://1315402725.github.io/posts/9218897/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 爱笑的k11
打赏
  • 微信
  • 支付寶

评论