2
代码如下:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
int num=scan.nextInt();
int f1=0;
int f2=1;
int f3=0;
while(num>f3){
f3=f1+f2;
f1=f2;
f2=f3;
}
//当num>f3是可能num左边的数字更近一点,所以需要判断一下
int count=Math.min(Math.abs(f3-num),Math.abs(f1-num));
System.out.println(count);
}
}
[](()二、下厨房
========================================================================
[题目链接](()
该题为字符串输入问题
输入描述
每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i 件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过 50 行,每一行不超过 50 个字符。
输出描述
输出一行一个数字表示完成所有料理需要多少种不同的材料。
示例
输入
BUTTER FLOUR
HONEY FLOUR EGG
输出 Java开源项目【ali1024.coding.net/public/P7/Java/git】
4
注意这个题的测试用例有多行输入
思路就是将字符串以空格分割,存放到HashSet中自动去重,返回长度就是所需要的输出。
代码如下:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
HashSet set=new HashSet<>( 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 );
//多行输入
while(scan.hasNext()){
//Returns true if