UVA 10276 - Hanoi Tower Troubles Again!

来源:互联网 发布:闪凌网络是真的吗 编辑:程序博客网 时间:2024/05/22 10:25

 

判断给出n个竖针,最多能放多少个魔法小球,魔法小球:同一个竖针上相邻的两个小球编号的和必须是一个平方数(1+3)=2*2,

(2+7)=3*3等等,最后根据写出的前几个数找出了规律

1    2    3    4       5       6     7 (竖针数)

1   3    7    11     17    23     31 (最大小球数)

\\ /    \\ /     \\ /     \\ /     \\ /     \\ /

 2    4      4       6     6       8

code:

#include<cstdio>
int main()
{
int n,t;
scanf(\"%d\",&t);
for(int i=1;i<=t;++i)
{
scanf(\"%d\",&n);
if(n==1)
printf(\"1\\n\");
else
{
int sum=1,temp=2;
for(int j=2;j<=n;++j)
{
if(j%2==1)
temp+=2;
sum+=temp;
}
printf(\"%d\\n\",sum);
}
}
return 0;
}

原创粉丝点击