黑马程序员技术交流社区

标题: 经典算法2 [打印本页]

作者: HEY、baby    时间: 2015-8-24 23:27
标题: 经典算法2
题目4;将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5.
import java.util.Scanner;
public class demo01 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个正整数:");
               
                int n = sc.nextInt();
                int k = 2;
                System.out.print(n+"=");
               
                while(k<=n){
                        if(k==n){
                                System.out.print(n);
                                break;
                        }else if(n%k==0){
                                System.out.print(k+"*");
                                n=n/k;
                        }else{
                                k++;
                        }
                }
        }       
}
题目5:利用条件运算符的嵌套来完成此题目:学习成绩>=90分的同学用A表示,60-89分之间用B表示,60分以下的用C表示。
import java.util.Scanner;
class demo01{
        public static void main(String[] args) {
                int x;
                char grade;
               
                Scanner s = new Scanner(System.in);
                System.out.println("请输入一个成绩");
               
                x=s.nextInt();
                grade = x >= 90 ? 'A' : x >= 60 ? 'B' : 'C';
                System.out.println("等级为:"+grade);
        }
}
题目6:输入两个正整数m和n,求其最大公约数和最小公倍数。
import java.util.Scanner;
class demo01{
        public static void main(String[] args) {
                int a,b,m;
                Scanner sc = new Scanner(System.in);
                System.out.println("键入一个整数:");
                a = sc.nextInt();
                System.out.println("在键入一个整数:");
                b = sc.nextInt();
                deff cd = new deff();
                m = cd.deff(a,b);
                int n = a*b/m;
                System.out.println("最大公约数:"+m);
                System.out.println("最小公约数:"+n);
        }
}
class deff{
        public int deff(int x,int y){
                int t;
                if(x<y){
                        t = x;
                        x = y;
                        y = t;
                }
                while(y!=0){
                        if(x==y)
                                return x;
                        else{
                                int k = x % y;
                                x = y;
                                y = k;
                        }
                }
                return x;
        }
}

作者: 王小吉    时间: 2015-8-24 23:31
这些题都是哪里找的啊 我一直想找一些题做做
作者: 强晨曦    时间: 2015-8-24 23:32
抢占第一个沙发,啦啦啦。
作者: 强晨曦    时间: 2015-8-24 23:33
原来我比你还多一个黑马币呢!刚兑换的,有8个技术分了。平级
作者: 文景    时间: 2015-8-24 23:34
mark标记一下
作者: 739994889    时间: 2015-8-24 23:37
来过  顶一个  加油!
作者: 窗外的雪儿飞    时间: 2015-8-24 23:41
赞一个,算法挺好,已留存
作者: 郑亚卓    时间: 2015-8-24 23:41
好,太好了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2