JAVA算法题
1.使用Java语言编写代码,将一个正整数分解质因数,例如:输入90,打印输出90=2*3*3*5
答案:
public  class  Math{
/**
    * 分解质因数
    *
    */
public  static void  main(String[] args)
{

玳瑁猫是什么猫和什么猫生的int n,i;
System.out.println("\nplease input a number:\n");
Scanner input=new Scanner(System.in);
Int();
System.out.println(n);
for(i=2;i<=n;i++)
  {
  while(n!=i)
  {
    if(n%i==0)
    {
System.out.println(i);
    n=n/i;
    }
    else{
    break;
}
  }
}
System.out.println(n);
}
}
2. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
答案:
public class Rabit {
    /**
    * 古典问题:兔子
    * @param args
    */
    public static void main(String[] args) {
        int f1 = 1;
        int f2 = 1;
        for(int n = 1; n <= 20; n++){
            System.out.println(f1+ "\t" + f2);
            if(n % 2 ==0){
                System.out.print("");
            }
            f1 = f1 + f2;
            f2 = f2 + f1;
        }怎么把变量设为全局变量
    }
}
3. 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方+5while(i)什么意思c语言的三次方+3的三次方
答案:
/**
* Narsissus.java
*
*/
public class Narsissus {
    public static void main(String[] args) {
        int ge;  //个位数字
        int shi; //十位数字
        int bai; //百位数字
        System.out.println("100~999之间的水仙花数是: ");
        for(int i = 100; i <=999; i++){
            ge = i%10;      //分解出个位
            shi = i/10%10;  //分解出十位
            bai = i/100;    //分解出百位
            if(i == ge*ge*ge + shi*shi*shi + bai*bai*bai){  //判断是否是水仙花数
                System.out.println(i + "\t");
            }
        }
    }
}
4. {16,25,23,46,90,9}6个数进行冒泡排序,并输出结果。
5. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
答案:
public class Example3 {
    /**
    * 猴子吃桃子的问题
    * @param args
    */
    public static void main(String[] args) {
        int x1 = 0;  //前一天的桃子
污染空间        int x2 = 1;  //当天早上的桃子
        for(int day = 9; day > 0; day--){
            x1 = (x2 + 1) * 2;
            x2 = x1;exception例外
        }
        System.out.println("猴子共摘桃子的个数是: " + x1);
    }
}
6. s=a+aa+aaa+a的值,其中a是一个数字,由用户输入。例如2+22+222+2222+22222(此时共有5个数相加)
答案:
java常见笔试题
import java.util.*;
/**
* a+aa+aaa+aa..a的和
*/
public class Example4 {
   
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入数字a的值(1~9): ");
        int a = Int();
        System.out.print("请输入n值:");
        int n = Int();
        int tn = 0;
        int sn = 0;
        for (int i = 0; i < n; i++) {
            tn = tn + a;
            sn = sn + tn;
            a = a * 10;
        }
        System.out.println("a + aa + ...  = " + sn);
    }
}
7. 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 
答案:
public class Maths{
public static void main(String[] args){
  int ge,shi,qian,wan,x;
Scanner input = new Scanner(System.in);
Int();
wan=x/10000;
qian=x%10000/1000;
shi=x%100/10;
ge=x%10;
if (ge==wan && shi==qian) {/*个位等于万位并且十位等于千位*/
  System.out.println(“这个是回文数”);
}
else{
  System.out.println(“这个不是回文数”);
}
 
}
}
8. 输入三个整数x,y,z,请把这三个数由小到大输出

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。