练习2.1
任意输入三角形的三边长,在满足三角形构成规则的前提下,计算三角形的面积。
所用的数学知识:
根据海伦公式求:
已知三角形的三边分别是a、b、c,求面积。
先算出周长的一半p=1/2(a+b+c),然后根据公式
,代入数值即可。
代码如下:
import java.util.Scanner;
public class Triangle {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //从键盘接收数据
System.out.println("请输入三角形三边:");
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
float p = (a+b+c)*1/2;
double s = Math.sqrt(p*(p-a)*(p-b)*(p-c));
System.out.println("三角形的面积为:" + s);
}
}
Fibonacci数列有如下特点:已知n1 = 1,n2 = 1,n3 = n1+n2,n4 = n2+n3,…,要求输出前20个数字,并判断2178309是不是Fibonacci数列中的数,如果是则输出是第几个数值。
public class Fibonacci {
public static int Fib(int n)
{
if(n==0)
return 0;
else if(n==1)
return 1;
else {
return Fib(n-1) + Fib(n-2);
}
}
public static void main(String[] args) {
for(int i = 1;i<=20;i++)
{
System.out.println(Fib(i));
}
}
}
判断一个数是否为Fibonacci数
代码如下:
import java.util.Scanner;
public class Fibonacci {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n = scanner.nextInt();
int i = 1;
int f = 0;
while(true)
{
f = fibonacci(i);
if(f==n) {
System.out.println(n + "是");
break;
}
else if(f>n)
{
System.out.println(n+"不是");
break;
}
i++;
}
}
public static int fibonacci(int n) {
if(n <= 2)
{
return 1;
}
else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
}