水仙花数:
//一个数拆分求立方和
1 int count1=0; 2 int bw,sw,gw,sum; 3 for(int i=100;i<1000;i++) 4 { 5 bw=i/100;//求百位上的数 6 sw=(i-bw*100)/10;//求十位上的数 7 gw=i%10;//求各位上的数 8 sum=bw*bw*bw+sw*sw*sw+gw*gw*gw; 9 if(sum==i) 10 { 11 count1++; 12 System.out.print(i+" "); 13 if(count1%5==0) 14 {System.out.println();} 15 } 16 } 17 System.out.println("一共有"+count1+"个水仙花数!");
//三个数字组合 求立方和 for(int a=1;a<10;a++){ for(int b=0;b<=10;b++){ for(int c=0;c<=10;c++){ int d=a*100+b*10+c; if(a*a*a+b*b*b+c*c*c==d) { System.out.println(d); } } } }
结果:
百鸡百文:
5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?
1 int gj, mj,xj,count2=0;//说明 gj mj 分别表示公鸡与母鸡的数量 只有xj 表示 买小鸡花的钱 2 for(gj=0;gj<=20;gj++){ 3 for(mj=0;mj<=33;mj++){ 4 for(xj=0;xj<=100;xj++){//因为最多买100只鸡 所以小鸡最多有100只 5 if(5*gj+3*mj+xj==100&&gj+mj+xj*3==100) 6 { 7 count2++; 8 System.out.println("100文能买"+gj+"只公鸡"+mj+"只母鸡"+xj*3+"只小鸡"); 9 } 10 } 11 } 12 } 13 System.out.println("共有"+count2+"种可能!");
运行结果:
100文能买0只公鸡25只母鸡75只小鸡
100文能买4只公鸡18只母鸡78只小鸡
100文能买8只公鸡11只母鸡81只小鸡
100文能买12只公鸡4只母鸡84只小鸡
共有4种可能!
百马百担:
有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?
int dm,zm,xm,count3=0; for(dm=0;dm<=33;dm++){ for(zm=0;zm<=50;zm++){ for(xm=0;xm<=100;xm++){//小马最多只能有100匹 if(dm*3+zm*2+xm*.5==100&&dm+zm+xm==100) { count3++; System.out.println("大马"+dm+"匹,中马"+zm+"匹,小马"+xm+"匹。"); } } } } System.out.println("共有"+count3+"种可能!");
运行结果:
九九乘法表:
1 for(int i=1;i<10;i++){ 2 for(int j=1;j<=i;j++){ 3 System.out.print(j+"x"+i+"="+i*j+" "); 4 } 5 System.out.println();//每结束一个i 换行 6 }
运行结果:
输出三角形:
1 Scanner sc=new Scanner(System.in); 2 System.out.print("请输入打印行数:"); 3 int n=sc.nextInt(); 4 for(int i=1;i<=n;i++){ 5 for(int j=1;j<=n-i;j++){ 6 System.out.print(" ");//首先打印空格 7 } 8 for(int k=1;k<=2*i-1;k++){ 9 System.out.print("★"); 10 } 11 System.out.println(); 12 }
运行结果:
打印菱形:
1 Scanner sc2=new Scanner(System.in); 2 System.out.print("请输入打印行数:"); 3 int N=sc.nextInt(); 4 //首先打印菱形的上半部分 5 for(int i=1;i<=N;i++){ 6 for(int j=1;j<=N-i;j++){ 7 System.out.print(" "); 8 } 9 for(int k=1;k<=2*i-1;k++){ 10 System.out.print("★"); 11 } 12 System.out.println(); 13 } 14 //打印菱形的下半部分 15 for(int x=N-1;x>0;x--){//因为下半部分的第一行与上半部分的最后一行会重复 所以要比上半部分少打印一行 16 for(int y=1;y<=N-x;y++){ 17 System.out.print(" "); 18 } 19 for(int z=1;z<=2*x-1;z++){ 20 System.out.print("★"); 21 } 22 System.out.println(); 23 }
运行结果:
冒泡排序:
1 //定义扫描器 2 Scanner ar=new Scanner(System.in); 3 System.out.print("请输入需要排序的数字个数:"); 4 int Nt=ar.nextInt(); 5 int arr[]=new int[Nt];//定义一个数组 用来存放排序的数字 6 //输入需要排序的数字 并存入数组中 7 for(int i=0;i<Nt;i++){ 8 System.out.print("请输入第"+(i+1)+"个数字:"); 9 arr[i]=ar.nextInt(); 10 } 11 //比较 进行排序 12 for(int j=0;j<Nt;j++){ 13 for(int k=0;k<Nt-j-1;k++){ 14 if(arr[k]>arr[k+1]){//判断两个数的大小 15 int temp=arr[k]; 16 arr[k]=arr[k+1]; 17 arr[k+1]=temp; 18 } 19 } 20 //每全部比较一遍之后 输出排序的结果 21 System.out.print("第"+(j+1)+"次的排序结果:"); 22 for(int i=0;i<Nt;i++){ 23 System.out.print(arr[i]+" "); 24 } 25 System.out.println(); 26 } 27 //输出最终的排序结果 28 System.out.print("排序结果: "); 29 for(int i=0;i<Nt;i++){ 30 System.out.print(arr[i]+" "); 31 }
运行结果: