java算法(一)
最近在看各种经典算法,自己写起来:
一、判断素数问题:
知识点:素数即为质数,一个数n若不是质数则一定在2-n/2之间内有因数。
package JingDian;
public class sushu {
    public static void main(String[] args){
    myMath shu = new myMath();
    for(int i=101;i<=200;i++){
        if(shu.isSuShu(i)==true){
            System.out.println(i);
        }
     }
    }
}
class myMath{
    public boolean isSuShu(int x){
        for(int i=2;i<=x/2;i++){
            if(x%i==0)
                return false;
            }
        return true;
    }
}
二、取数的个位,十位,百位....问题:
知识点:
假设那么数为x,不知道是多少位的.
你可以使用下面的表达式:
个位:x%10
十位:x/10%10
百位:x/100%10
千位:x/1000%10
package JingDian;
public class shuixianshu {
    public static void main(String[] args){
    myMath2 shuixian = new myMath2();
    for(int i=100;i<999;i++){
        if(shuixian.shuixianshu(i)==true)
        System.out.println(i);
      }
    }
}
class myMath2{
    public boolean shuixianshu(int x){
        int i=0,j=0,k=0;
        //获取一个数的个位十位百位
        i=x/100%10;
        j=x/10%10;
        k=x%10;
        if(x==i*i*i+j*j*j+k*k*k){
            return true;
        }else{
        return false;
        }
    }
}
三、分解质因数问题:
package JingDian;
public class fenjieshu {
    public fenjieshu(){}
    public void fenjie(int n){
        for(int i=2;i<=n/2;i++){
            if(n%i==0){
                System.out.println(i+"");
                //递归调用
                fenjie(n/i);
            }
        }
        System.out.println(n);
        System.exit(0);
    }
    public static void main(String[] args){
        String str="";
        fenjieshu f=new fenjieshu();
        str = javax.swing.JOptionPane.showInputDialog("请输入N的值(输入exit退出):");
        int N = 0;
        try{
            N = Integer.parseInt(str);
        }catch(NumberFormatException e){
            e.printStackTrace();
        }
        System.out.println(N+"分解质因数:"+N+"=");
        f.fenjie(N);
    }
}
java算法(一)的更多相关文章
- JAVA算法系列 冒泡排序
		
java算法系列之排序 手写冒泡 冒泡算是最基础的一个排序算法,简单的可以理解为,每一趟都拿i与i+1进行比较,两个for循环,时间复杂度为 O(n^2),同时本例与选择排序进行了比较,选择排序又叫直 ...
 - JAVA算法系列 快速排序
		
java算法系列之排序 手写快排 首先说一下什么是快排,比冒泡效率要高,快排的基本思路是首先找到一个基准元素,比如数组中最左边的那个位置,作为基准元素key,之后在最左边和最右边设立两个哨兵,i 和 ...
 - java算法  蓝桥杯  乘法运算
		
问题描述 编制一个乘法运算的程序. 从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出. 输入格式 输入只有一行,是两个用空格隔开的数字,均在1~99之间(含1和99). 输出格式 输出为4行 ...
 - java算法  蓝桥杯   扶老奶奶街
		
一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被C和E其中一个扶过大街的 C :老奶奶是被我和D其中 ...
 - java算法  蓝桥杯  高精度加法
		
问题描述 在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263.要想计算更加规模的数,就要用软件来扩展了,比如用数组或 ...
 - java算法  蓝桥杯 格子位置
		
问题描述 输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中,与格子(i,j)同行.同列.同一对角线的所有格子的位置. 输入格式 输入共三 ...
 - java算法----排序----(6)希尔排序(最小增量排序)
		
package log; public class Test4 { /** * java算法---希尔排序(最小增量排序) * * @param args */ public static void ...
 - java算法----排序----(5)归并排序
		
package log; import java.util.Arrays; public class Test4 { /** * java算法---归并排序 * * @param args */ pu ...
 - java算法----排序----(4)快速排序
		
package log; public class Test4 { /** * java算法---快速排序 * * @param args */ public static void main(Str ...
 - java算法----排序----(3)冒泡排序
		
package log; public class Test4 { /** * java算法---冒泡排序 * * @param args */ public static void main(Str ...
 
随机推荐
- XAF学习笔记之-多表头设计
			
空闲之余,看了下全英文的DEV 的XAF帮助文档,一半的英文我认识他,一半的英文他认识我,反正拆开成26个字母我全认识 不那么啰嗦了,先看效果 如何做:分以下几步 第一步:打开这个文件,这个文件就是X ...
 - putpixel
			
from PIL import Imageimg = Image.open("D:\Python27\ggg.gif")(w,h) = img.sizeim=img.convert ...
 - Being a Good Boy in Spring Festival 尼姆博弈
			
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Descr ...
 - layout优化实践
			
昨天确定了启动时,inflate耗时太多,当时不知道怎么回事,去Trinea的博客一逛,发现原来是需要进行layout优化,跟着他们的步伐,做了下面的修改. 1.据说在lint前是一款layout工具 ...
 - <%%>标签 什么意思
			
<%%>是说这里面的文本不是普通直接输出到客户端的文本,而是需要服务器来解释的.不光是可以写JAVA脚本,这要看具体服务器端使用的是什么技术ASP/JSP/PHP/ASP.NET都使用相同 ...
 - Windows下 maven3.3.1的安装步骤+maven配置本地仓库
			
简单讲下maven的安装步骤: 1.在安装maven之前,先确保已经安装JDK1.6及以上版本,并且配置好环境变量. 2.下载maven3,最新版本是Maven3.3.1 ,下载地址:http://m ...
 - How to: Change Sales Rep/Team via Mass Update
			
/* from: https://netsuite.custhelp.com/app/answers/detail/a_id/30057/kw/reassign%20sales */ How to c ...
 - Mvc 简单分页代码
			
) { string userid = EndUserLoginManage.Instance.loginUserID; ICommentInfoBLL c_bll = new CommentInfo ...
 - UI基础之UITextField相关
			
UITextField *textF = [[UITextField alloc] init]; 1.字体相关 textF.text = @"文本框文字"; textF.textC ...
 - House Robber III   leetcode  动态规划
			
https://leetcode.com/submissions/detail/56095603/ 这是一道不错的DP题!自己想了好久没有清晰的思路,参看大神博客!http://siukwan.sin ...