给定周长下的三角形数量 Java Edition

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

基本思路为,确定最长边的范围,对每一种情况求和,最后加以修正

import java.util.Scanner;

import java.io.FileInputStream;

/**

* Created by IntelliJ IDEA.

* User: Yu Fan

* Date: 2005-4-23

* Time: 14:01:29

* To change this template use File | Settings | File Templates.

*/

public class B {

static Scanner in;

static

{

try

{

System.setIn(new FileInputStream("B.txt"));

in = new Scanner(System.in);

}

catch(Exception e)

{

e.printStackTrace();

}

}

public static void main(String[] arg) {

while(in.hasNext())

{

long q=in.nextLong();

long ans=in.nextLong();

long my=0;

long i;

if(q%3==0)

i=q/3;

else

i=q/3+1;

long p;

if(q%2==0)

p=q/2;

else

p=q/2+1;

my=(3*i+3*p-2*q-1)*(p-i)/4;

if((p-i)%4==0)

{

my+=(p-i)/4;

}

else if((p-i)%4==1)

{

if((3*i-q+1)%2==0)

{

my+=(p-i)/4;

}

else

{

my+=(p-i)/4+1;

}

}

else if((p-i)%4>=2)

{

my+=(p-i)/4+1;

}

/* 以上为下面循坏的级数求和

for(i=i;i<p;i++)

{

long k;

k=3*i-q+1;

if(k%2==1)

k=k/2+1;

else

k=k/2;

my+=k;

}

*/

if(my!=ans)

{

System.out.println("Bad luck!");

}

else

{

System.out.println("Congratulations!");

}

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有