算法准备

算法

import java.util.Scanner;



public class TestForString {

    static int total=0;
    public static void main(String[] args) {
        
        
        // TODO Auto-generated method stub
       Scanner scan = new Scanner(System.in);
       while(true){
           int length=scan.nextInt();
           int[] arr=new int[length];
           for(int i=0;i<arr.length;i++){
               arr[i]=i+1;
           }
           arrangeSort(arr,0,length);
           

       }
        

    }
    
    
    static void arrangeSort(int[]arr,int startIndex,int length){
        if(startIndex==(length-1)){
            for(int i=0;i<length;i++){
                System.out.print(arr[i]);
            }
            System.out.println();
            
            total++;
        }else{
            for(int i=startIndex;i<length;i++){
                swap(arr,i,startIndex);
                arrangeSort(arr,startIndex+1,length);
                swap(arr,i,startIndex);
            }
        }
        if(startIndex==0){
            System.out.println("***********************"+total);
            total=0;
        }
    }
    
    static void swap(int[] arr,int indexI,int indexJ){
        
        int temp=arr[indexI];
        arr[indexI]=arr[indexJ];
        arr[indexJ]=temp;
    }
    
    static void changePram(int[] arr){
        arr=new int[10];
        for(int i=0;i<10;i++){
            arr[i]=i;
        }

    }
    
    static void quickSort(int[] arr,int length){
        
        int temp;
        for(int i=length-1;i>0;i--){
            
            
            int k=i;
            for(int j=0;j<i;j++){
                if(arr[j]>arr[k]){
                    k=j;
                }
            }
            if(arr[i]<arr[k]){
                temp=arr[i];
                arr[i]=arr[k];
                arr[k]=temp;
            }
        }
    }
    
    static void bubbleSortDown(int[] arr,int length){
        for(int j=length-1;j>0;j--){
            for(int i=0;i<j;i++){
                if(arr[i]<arr[i+1]){
                    int temp=arr[i];
                    arr[i]=arr[i+1];
                    arr[i+1]=temp;
                }
            }
        }
    }
    
    static void bubbleSort(int[]arr,int length){
        
        for(int j=length-1;j>0;j--){
            for(int i=0;i<j;i++){
                if(arr[i]<arr[i+1]){
                    int temp= arr[i];
                    arr[i]=arr[i+1];
                    arr[i+1]=temp;

                }
            }
        }
    }
    
    static void swap(int a,int b){
        int temp=a;
        a=b;
        b=temp;
    }
    
    static void quickDown(int[] arr,int left,int right){
        
        if(left>=right){
            
            return;
        }
        
        int i=left;
        int j=right;
        int temp=arr[i];
        
        while(i<j){
            
            while(i<j&&arr[j]<temp){
                j--;
            }
            if(i<j){
                arr[i]=arr[j];
                i++;
            }
            
            while(i<j&&arr[i]>temp){
                i++;
            }
            if(i<j){
                arr[j]=arr[i];
                j--;
            }
        }
        arr[i]=temp;
        
        quickDown(arr,left,i-1);
        quickDown(arr,i+1,right);
    }
    
    
    
    
    static  void quickSort(int[] arr,int left,int right){
        
        if(left>=right){
            return;
        }
        
        int temp=arr[left];
        int j=right;
        int i=left;
        
        while(j>i){
            
            while(j>i&&arr[j]>temp){
                j--;
            }
            if(j>i){
                arr[i]=arr[j];
                i++;
            }
            while(i<j&&arr[i]<temp){
                i++;
            }
            if(i<j){
                arr[j]=arr[i];
                j--;
            }
        }
        arr[i]=temp;
        quickSort(arr,left,i-1);
        quickSort(arr,i+1,right);
    }
    
    static void sort(){
        Scanner scan = new Scanner(System.in);
        int a=scan.nextInt();
        int b=scan.nextInt();
        int c=scan.nextInt();
        
        int[] arr=new int[3];
        if(a>b){
            if(a>c){
                arr[0]=a;
                if(c>b){
                    arr[1]=c;
                    arr[2]=b;
                }else{
                    arr[1]=b;
                    arr[2]=c;
                }
            }else{
                arr[0]=c;
                arr[1]=a;
                arr[2]=b;
            }
        }else{
            //a<b
            if(c<b){
                arr[0]=b;
                if(a<c){
                    arr[1]=c;
                    arr[2]=a;
                }else{
                    arr[1]=a;
                    arr[2]=c;
                }
            }else{
                arr[0]=c;
                arr[1]=b;
                arr[2]=a;
            }
        }
        for(int i=0;i<3;i++){
            System.out.println(arr[i]);
        }
    }
    
    static void countDay(){
        Scanner scan = new Scanner(System.in);
        int year=scan.nextInt();
        int month=scan.nextInt();
        int day=scan.nextInt();
        
        int totalDay=0;
        if(month>1){
            totalDay=countByMonth(month-1);
            if(month>2){
                if(isRunNian(year)){
                    totalDay+=1;
                }
            }
            
        }
        totalDay+=day;
        
        System.out.println(totalDay);
        
    }
    
    static int countByMonth(int month){
        int totalDay=0;
        for(int i=1;i<=month;i++){
            if(i%2==1){
                totalDay+=31;
            }else{
                totalDay+=30;
            }
        }
        
        if(month>=2){
            totalDay-=2;
        }
        return totalDay;
    }
    
    static boolean isRunNian(int year){
        if(year%100==0){
            if(year%400==0){
                return true;
            }else{
                return false;
            }
        }else if(year%4==0){
            return true;
        }else{
            return false;
        }
    }
    static void makeNumber(){
        int[] four=new int[]{1,2,3,4};
        int count=0;
        int ge=0;
        int shi=0;
        int bai=0;
        for(int i=0;i<4;i++){
            
            for(int j=0;j<4;j++){
                if(j!=i){
                    ge=four[j];
                    for(int k=0;k<4;k++){
                        if(k!=i&&k!=j){
                            shi=four[k]*10;
                            for(int z=0;z<4;z++){
                                if(z!=k&&z!=j&&z!=i){
                                bai=four[z]*100;
                                count++;
                                System.out.println(bai+ge+shi);}
                            }
                        }
                    }
                }
            }
        }
        System.out.println("*********************************"+count);
    }
    
    static double[] luoDi(int count){
        double[] a=new double[2];
        
        if(count==1){
            a[0]=100;
            a[1]=50;
            
        }
        else if(count==2){
            a[0]=200;
            a[1]=25;
            
        }
        else{
            double lastTotal=200;
            double lastJump=25;
            for(int i=3;i<=count;i++){
                lastTotal+=lastJump*2;
                lastJump/=2;
                
            }
            a[0]=lastTotal;
            a[1]=lastJump;
            
        }
        return a;
        
    }
    
    static boolean wanQuanShu(int test){
        int total=0;
        if(test==1||test==2){
            return false;
        }
        int sqr=(int) Math.sqrt(test);
        for(int i=1;i<=sqr;i++){
            if(test%i==0){
                total+=i;
                total+=test/i;
            }
        }
        total-=test;
        if(total==test){
            return true;
        }
        return false;
    }
    static void addNumber(){
        Scanner scan=new Scanner(System.in);
        int factor=scan.nextInt();
        int number=scan.nextInt();
        
        int total=0;
        for(int i=number;i>0;i--){
            total+=factor*tenFactor(number-i)*i;
        }
        System.out.println(total);
        
    }
    static int tenFactor(int i){
        int sum=1;
        for(;i>0;i--){
            sum*=10;
        }
        return sum;
    }
    static void countChar(){
        int number=0;
        int space=0;
        int letter=0;
        int others=0;
        Scanner scan= new Scanner(System.in);
        String str=scan.nextLine();
        System.out.println(str);
        char[] charArray=str.toCharArray();
        for(char i:charArray){
            System.out.print(i);
            if((i>='a'&&i<='z')||(i>='A'&&i<='Z')){
                letter++;
            }else if(i>='0'&&i<='9'){
                number++;
            }else if(i==' '){
                space++;
            }else{
                others++;
            }
        }
        System.out.println();
        System.out.println("number:"+number);
        System.out.println("other:"+others);
        System.out.println("letter:"+letter);
        System.out.println("space:"+space);
    }
    
    static int zuiDaGongYueShu(int a,int b){
        if(a<b){
            int temp =a;
            a=b;
            b=temp;
        }
        if(a%b==0){
            return b;
        }else{
            return zuiDaGongYueShu(b,a%b);
        }
    }
    
    static int function(int month){
        int total=1;
        if(month==1||month==2){
            total=1;
        }
        int pre1=1;
        int pre2=1;
        if(month>2){
            
            int nextCount=3;
            while(nextCount<=month){
                total=pre1+pre2;
                int temp=pre1;
                pre1=total;
                pre2=temp;
                nextCount++;
            }
        }
        return total;
    }
    
    static String grade(double mark){
        String gra=(mark>=90)?"A":((mark>=60)?"B":"C");
        return gra;
    }
    
    static boolean shuShu(int test){
        if(test==2){
            return true;
        }
        int squrt=(int) Math.sqrt(test);
        for(int i=2;i<=squrt;i++){
            if(test%i==0){
                return false;
            }
        }
        return true;
    }
    
    static boolean isShuiXianHua(int test){
        int ge=test%10;
        int shi=(test/10)%10;
        int bai=(test/100);
        int sum = ge*ge*ge+shi*shi*shi+bai*bai*bai;
        if(sum==test){
            return true;
        }
        return false;
    }
    


    static void fenjie(int test){
        int yueShu1=(int) Math.sqrt(test);
        while(true){
            if(test%yueShu1==0){
                break;
            }else{
                yueShu1--;
            }
        }
        
        int yueShu2=test/yueShu1;
        if(shuShu(yueShu1)){
            System.out.println(yueShu1);
        }else{
            fenjie(yueShu1);
        }
        
        if(shuShu(yueShu2)){
            System.out.println(yueShu2);
        }else{
            fenjie(yueShu2);
        }
        
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值