java算法小知识练习

  偶尔翻开了以前的练习题,不自觉又想随手敲一遍,虽然有些思想依然是那么老套,但毕竟也算是对知识的巩固 了。

  一、题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

    具体思路很简单,就是拿出一个数,跟其他三个中的任意两个不重复的组,最后加起来,

/**
 * 题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
 * 时间:2016年3月10日21:34:15
 * */
public class Zushu {

    public static void main(String[] args) {

        int num= 0,count=0;
        for(int i =1;i<5;i++){
            for(int j =1;j<5;j++){
                for(int k=1;k<5;k++){
                    if(i!=j && i!=k && j!=k){
                        num = i*100+j*10+k;
                        count++;
                        System.out.print(num+" ");

                    }

                }

            }

        }
        System.out.println("");
        System.out.println("个数为:"+count);
    }
}

打印结果为: 

123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432
个数为:24

  这种思路是比较笨 的一种方法,对于数字很多的时候,不太适合,嵌套循环太多,希望大神们有好的算法,多多指正!

  

时间: 2024-10-11 13:23:12

java算法小知识练习的相关文章

Java基础小知识(一)

 序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习JAVA过程中总结的一些小知识吧! ①JAVA语言规定标识符的命名规则: 标识符应以“字母”.“下划线”.“美元符号$” 开头,不能以“数字”开头: 标识符可以由“字母(A-Z,a-z)”.“下划线”.“美元符号$” 或“数字(0-9)”组成: Java标识符需要注意区分大小写,长度无限制:(类名首字

java基础小知识

1.1常量: 基本数据类型常量 字符常量 整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制) 生活中:十进制(0-9)  ,星期(七进制(0-6)) ,时间(十二进制(0-11),二十四进制(0-23)) 计算机是通过二进制来读取我们生活中的数据. 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为0 ,将余数从下上连接起来就是二进制 10---->1010 二进制转十进制:将二进制的每一位乘以2^n ,n从0开始,n每一次加一,在将结果相加. 1001 --

Java 基础小知识 (随学习不断补充)

最近希望巩固一下基础,看了李兴华老师的<Java核心技术精讲>一书,随着学习过程记录整理一下一些零散的小知识点,方便以后记忆. 如有错误和建议,欢迎指出. 1.Java中的关键字 abstract assert boolean break byte case catch char class continue const default do double else extends enum final finally float for goto if implements import i

Java EE小知识

Tips:网络开发中有两种开发模式: C/S模式(Client/Server):如QQ.MSN: B/S模式(Brower/Server):如网上购物.论坛 静态请求:通常以.html或.htm为后缀的,代码固定: 动态请求:通常以.jsp或.php为后缀,代码拼凑而成. 相比较静态web,动态web可进行数据库操作,最大特点是交互性 JSP的前身是Servlet(服务器端小程序),servlet可分为简单servlet.过滤servlet(过滤器).监听servlet(监听器),servlet

Java算法小程序(2)

6.把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. a)使用ArrayList来存放元素 public class Solution { public static int minNumberArray(int[] array) { int min = array[0]; for(int i = 0; i < array.length; i++){ if(min > array[i]){ min = array[i]; } } return min; } public Ar

Java数组小知识和UML知识 java中的参数传递——值传递、引用传递

数组声明后必须用new为其分配空间 java中数组有没有length()方法,求数组的长度可以使用数组的length属性. 1 2 int[] arr={1,2,3,4,5}; int length=arr.length;//求数组的长度 String 有length()方法,用来求字符串的长度 1 2 String  str="Hello"; int length=str.length(): //求字符串的长度 UML是一个结构图,常用来描述一个系统的静态结构,统一建模语言. Jav

Java算法小程序(1)

1.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. a)        常规程序,直接遍历二维数组 public class Solution { public boolean Find(int [][] array,int target) { int flag = 0; for(int i = 0; i < array.length; i++){ int[] arr2 = a

java算法小问题

import java.util.Scanner;public class Day { public static void main(String[] args) {  int[] days = {31,0,31,30,31,30,31,31,30,31,30,31};  Scanner in = new Scanner(System.in);    System.out.println("输入年份:");  int year = in.nextInt();    System.ou

java每日小算法(27)

/* [程序27]  题目:求100之内的素数    */ package test; import java.util.Scanner; public class test { public static boolean prime(int number) { boolean flag = true; int mid = (int)Math.sqrt(number); for(int i = 2; i< mid+1; i++) { if(number % i == 0) { flag = fa