[個人記錄]小白書學習習題3-5~3-7(算法競賽入門經典第一版)

偷懶的日子雖好,但打代碼更讓人愉悅

package three;

import java.util.Scanner;

public class three_t {
	   /**
	    * 數組和字符串
	    */
		public static void main(String[] args) {
			/*
			 * 3.1數組
			 */
			//3-1開燈問題
			/*int n,k;
			boolean first=true;
			Scanner sc=new Scanner(System.in);
			n=sc.nextInt();
			k=sc.nextInt();
			boolean[] A=new boolean[n+1];
			for(int i=1;i<=k;i++)
				for(int j=1;j<=n;j++) 
					if(j%i==0)
						A[j]=!A[j];
				
			for(int j=1;j<=n;j++)
		        if(A[j]) {
		        	if(first) {
		        		System.out.print(j);
		        		first=false;
		        	}
		        	else {
		        		System.out.print(" "+j);
		        	}
		        }*/
			//3-2蛇形填數(不想用書上的算法,自己寫了個不好的(=ω=)吐血)
			/*int n,x,y,tot=0,k=1,flag=0;
			Scanner sc1=new Scanner(System.in);
			n=sc1.nextInt();
			x=0;
			y=n-1;
			int B[][]=new int[n][n];
			while(tot<n*n) {
						if(flag==0) {//向下
							for(int i=k-1;i<=n-k;i++)
							   B[i][y]=++tot;
							flag++;
							x=n-k;
						}	   
					    if(flag==1) {//向左
							for(int j=n-k-1;j>=n-x-1;j--)
							   B[x][j]=++tot;
							flag++;
							y=n-x-1;
					    }
					    if(flag==2) { //向上
							for(int i=n-k-1;i>=n-x-1;i--)
							   B[i][y]=++tot;
							flag++;
							x=n-x-1;
					    }
						if(flag==3) {//向右
							for(int j=k;j<=n-k-1;j++)
							   B[x][j]=++tot;
							flag=0;
							y=n-k-1;
							k++;
						}
			}
			for(int i=0;i<n;i++) {
				for(int j=0;j<n;j++)
					System.out.printf("%3d",B[i][j]);
			System.out.println();	
			}*/
			/**
			 * 第三章習題,略過一些習題。只有3-5~3-7
			 */
			//習題3-5旋轉
			/*Scanner sc2=new Scanner(System.in);
			int n=sc2.nextInt();
			int A[][]=new int[n][n];
			for(int i=0;i<n;i++) 
				for(int j=0;j<n;j++)
					A[i][j]=sc2.nextInt();
			for(int i=n-1;i>=0;i--) {
				System.out.print(A[0][i]);
				for(int j=1;j<n;j++)
					System.out.print(" "+A[j][i]);
				System.out.println();
			}*/
			//習題3-6進制轉換1
			/*int b,n;
			Scanner sc3=new Scanner(System.in);
			b=sc3.nextInt();//進制
			n=sc3.nextInt();
			String s=Integer.toString(n, b);
			System.out.println(s);
			*/
			//3-7進制轉換2
			/*int b;//進制
			String n;
			Scanner sc4=new Scanner(System.in);
			b=sc4.nextInt();
			n=sc4.next();
			int i= Integer.valueOf(n,b);   
			System.out.println(i);
			*/
		}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章