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个数相加),
答案:
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); } } | java常见笔试题
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小时内删除。
发表评论