实践2 习题

练习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);
		}
	}
}
	

你可能感兴趣的:(实践)