循环。。。。

7-1 猴子吃桃 (10 分)

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天将剩下的桃子吃掉一半,又多吃了一个.以后每天都吃了前一天剩下的一半零一个.到第十天再想吃时,发现剩下n个桃子.求第一天共摘多少桃子?

import java.util.Scanner;

public class Main{

    public static void main(String[] args)

    {

        Scanner cin=new Scanner(System.in);

        int n=cin.nextInt();

        int i=n,j=0;

        for(j=0;j<9;j++)

        {

            i=(i+1)*2;

        }

        System.out.print(i);

    }

}

7-2 斐波那契数列第n项 (10 分)

求斐波那契数列的第n项 f(n)=f(n-1)+f(n-2) 其中f1=f2=1

输入格式:

输入整数n

import java.util.*;

public class Main {

        public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        int n=in.nextInt();

        int f0 = 0;

        int f1 = 1;

        int ans = 0;

        for(int i=0;i<n;i++){

            ans=f0+f1;

            f0=f1;

            f1=ans;

        }

        System.out.println(f0);

    }

}

7-3 皮球反弹高度 (10 分)

一皮球从h米高度*落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

import java.util.*;

public class Main{

public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

double a=sc.nextDouble();

double b=a;

for(int i=1;i<=9;i++){

b=b/2;

a+=b*2;

}

System.out.println(String.format("%.2f",a));

System.out.println(String.format("%.2f",b*1/2));

}

}

7-1 买鸡问题 (10 分)

有n块钱,去买m只鸡,公鸡每只5元,母鸡每只3元,小鸡一元三只;现要求买m只鸡刚好用完n块钱,问有多少种买法,输出每种买法中公鸡、母鸡和小鸡各有多少只。

import java.util.*;

public class Main{

    public static void main(String[] args){

        Scanner sc=new Scanner(System.in);

        int a=sc.nextInt();

        int b=sc.nextInt();

        int sum=0;

        int i,j,k;

        for(i=0;i<=a/5;i++){

            for(j=0;j<=a/3;j++){

                for(k=3;k<=3*a;k++){

                    if((5*i+3*j+k/3==a)&&(i+j+k==b)&&(k%3==0)){

                        System.out.printf("%d,%d,%d\n",i,j,k);

                        sum++;

                    }

                }

            }

        }

       System.out.println(sum);

    }

}

7-3 添加乘号 (10 分)

有表达式1+2+3+ ... + n 。现在要求你把其中两个不相邻的加号变成乘号,使得表达式结果为m。比如当n=49,m=2015时,1+2+3+...+1011+12+...+2728+29+...+49 = 2015和1+2+3+...+1617+12+...+2425+26+...+49 = 2015就是符合要求的答案。请找出所有可能的答案

输入格式:

import java.util.Scanner;

public class Main{

public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        int n=in.nextInt();

        int m=in.nextInt();

        int sum=0;

        int tmp=0;  

    int res=0;

        int num=0;

        for(int i=1;i<=n;i++){

            sum+=i;

        }

        for(int i=2; i<=n-2; ++i){

              tmp = res = sum-(i+(i-1))+i*(i-1);

        for(int j=i+2; j<=n; ++j){  

            res = tmp-(j+(j-1))+j*(j-1);  

            if(res ==m ){  

                num++;

                System.out.printf("%d,%d\n",i-1,j-1);

        }

        }}  if(num==0)  System.out.printf("0");

    }

}

7-1 前n项的和1 (10 分)

求1-3+5-7+……的前n项的和

输入格式:

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int b=sc.nextInt();

int i;

int sum = 0 ;

int A = 0 ;

for(i = 1 ; A < b ; i += 2)

        {

A++;

if(A %2 == 1) {

sum = sum + i;

}else {

sum = sum - i;

}

            

}

System.out.println(sum);

}

}

7-2 前n项的和2 (10 分)

计算数列 1-1/2+2/3-3/4+。。。+((-1)^(n+1))n/(n+1)前n项的和

输入格式:

import java.util.*;

public class Main{

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        int a=sc.nextInt();

        int i;

        double sum=1.0;

        for(i=2;i<=a;i++){

           if(i%2==0){sum+=-1.0*(i-1)/i;}

            else {sum+=1.0*(i-1)/i;}

            

        }

        System.out.println(String.format("%.2f",sum));

    }

}

7-1 输出n个数 (10 分)

键盘输入整数n,要求输出从1到n的n个数,以单个空格作为分隔符,每行输出5个数。

输入格式:

import java.util.*;

public class Main

{

    public static void main(String[] args)

    {

        Scanner sc=new Scanner(System.in);

        int a=sc.nextInt();

        int i;

        for(i=1;i<=a;i++){

            if(i%5==0||i==a){  System.out.println(i);}

                else{  System.out.print(i+" ");  }

            }

    }

}

7-2 整数的因子 (10 分)

键盘输入一个整数,输出它的所有因子。例如输入8,则输出1,2,4,8

输入格式:

import java.util.*;

public class Main

{

    public static void main(String[] args)

    {

        Scanner sc = new Scanner(System.in);

        int a=sc.nextInt();

        int i;

        for(i=1;i<=a;i++){

            if(a%i==0&&i!=a){

                System.out.print(i+",");

            }if(i==a){ System.out.print(i);}

        }

        

}

}

7-3 判断素数 (10 分)

键盘输入一个整数,判断该数是否是素数,如果是素数,输出“yes”;否则输出“no”

输入格式:

import java.util.*;

public class Main

{

public static void main(String[] args)

{

Scanner sc=new Scanner(System.in);

int a=sc.nextInt();

int b=0;

for(int i=2;i<=Math.sqrt(a);i++)

{

if(a%i==0)

{

b=1;

break;

}

}

if(b==1||a==1)

System.out.println("no");

else

System.out.println("yes");

}

}

上一篇:小于2147483647的double类型变量以截断取整方式


下一篇:VMware主机 几次断电后,挂载的磁盘报错了,系统无法启动