十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这是斐波那契数列的问题
腾冲网站建设公司创新互联建站,腾冲网站设计制作,有大型网站制作公司丰富经验。已为腾冲上1000+提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的腾冲做网站的公司定做!
可以用递归,也可以用循环
递归:
public class Demo3 {
// 使用递归方法
private static int getFibo(int i) {
if (i == 1 || i == 2)
return 1;
else
return getFibo(i - 1) + getFibo(i - 2);
}
public static void main(String[] args) {
System.out.println("斐波那契数列的前20项为:");
for (int j = 1; j = 20; j++) {
System.out.print(getFibo(j) + "\t");
if (j % 5 == 0)
System.out.println();
}
}
}
循环:
public class Demo2 {
// 定义数组方法
public static void main(String[] args) {
int arr[] = new int[20];
arr[0] = arr[1] = 1;
for (int i = 2; i arr.length; i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
System.out.println("斐波那契数列的前20项如下所示:");
for (int i = 0; i arr.length; i++) {
if (i % 5 == 0)
System.out.println();
System.out.print(arr[i] + "\t");
}
}
}
一只鸡是一个头两只脚
一只兔是一个头四只脚
我的算法就是用for循环最多进行35(头的数量)次循环,每循环一次减去一个头只四脚,相当于抓一只免子出来,当笼子里头的数量乘以2刚好等于脚的数量的时候,就说明笼子里全是鸡了,这样就可以知道各自的数量了,以下是核心代码:
int head = 35, foot = 94;
int countChicken, int countRabbit;
for(int i = 0; i 35; i++){
if(head * 2 == foot){
countChicken = head;
break;
}
head -= 1;
foot -= 4;
countRabbit++;
}
System.out.println("鸡的数量:" + countChicken);
System.out.println("兔子的数量:" + countRabbit);
以“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”为例
public class test {
public static void main(String[] args) {
int x,y; //x:鸡 y:兔
for(x=0;x=35;x++) { //遍历鸡的只数
y=35-x; //兔的只数等于35 - 鸡
if(2*x+4*y==94) //如果鸡和兔的脚总数是94
System.out.println("鸡"+x+"只,兔"+y+"只");
}
}
}
import java.util.Scanner;
public class Test {
public static void main(String[] args){
while(true){
Scanner scanner = new Scanner(System.in);
System.out.println("请分别输入头的数量和脚的数量,用空格分开:");
System.out.println("输入其它内容结束程序运行");
int heads,feet;
try{
heads = scanner.nextInt();
feet = scanner.nextInt();
}catch(Exception e){
break;
}
caculate(heads,feet);
}
}
public static void caculate(int head, int foot){
if((foot(int)1) != 0){
System.out.println("请输入偶数只脚");
return;
}
if(foot 0){
System.out.println("脚数应为非负整数");
return;
}
if(head 0){
System.out.println("头数应为非负整数");
return;
}
if(2*head foot){
System.out.println("头的数量太多");
return;
}
if(4*head foot){
System.out.println("脚的数量太多");
return;
}
int che = (4*head-foot)/2;
int rub = (foot - 2*head)/2;
System.out.println("棚内有" + che + "只鸡和" + rub + "只兔子");
}
}