高手告诉我敲代码
/* 最大公约数问题 方法一 */
int n = 6;
int m =9;
int result = 1;
for(int i = 1;i<=n;i++){
if((n%i==0)&&(m%i==0)){
result = i;
}
}
System.out.println(result);
最大公约数问题方法二
int n = 6;
int m = 9;
int result = n > m ? m : n;
for (int i = result; i >=1; i--) {
if ((n % i == 0) && (m % i == 0)) {
result = i;
break;
}
}
System.out.println(result);
百元买百鸡问题
for(int i = 0;i <=100 ; i++){
for(int j = 0;j<=100;j++){
for( int k = 0;k<=100;k++){
if((i+j+k==100)&&(i*3+j*4+k*0.5==100)) {
System.out.println("muji:"+i+"gongji:"+j+"xiaoji:"+k);
}
}
}
}
//喝汽水问题 方法一
int num = 1000;
int drinkNum = 0;
int emptNum = 0;
while(num>0) {
num --;
emptNum++;
drinkNum++;
if(emptNum==3){
num++;
emptNum = 0;
}
}
System.out.println("sum bottle:"+drinkNum);
System.out.println("剩下空瓶数:"+emptNum);
//喝汽水问题方法二
int num = 1000;
int drinkNum = 0;
int emptNum = 0;
while(num>0){
drinkNum+=num;
emptNum +=num;
num = emptNum/3;
emptNum-=num*3;
System.out.println("sum bottle:"+drinkNum);
System.out.println("剩下空瓶数:"+emptNum);
}
水仙花数
for (int i = 100; i < 1000; i++) {
int a = i % 10;
int b = (i / 10) % 10;
int c = i / 100;
if (a * a + b * b * b + c * c * c == i) {
System.out.println("水仙花数:" + i);
}
}
99乘法
for (int row = 1; row < 9; row++) {
for (int col = 1; col <= row; col++) {
if (row * col < 10) {
System.out.print(' ');
}
System.out.print(row * col);
System.out.print(' ');
}
System.out.println();
}
//打印图形方法一
for (int row = 1; row <= 5; row++) {
for (int c1 = 0; c1 < 5 - row; c1++) {
System.out.print(' ');
}
for (int c2 = 0; c2 < 2 * row - 1; c2++) {
System.out.print('*');
}
System.out.println();
}
//打印图形方法二
for (int row = 0; row <= 5; row++) {
for (int col = 0; col < 4 + row; col++) {
if (col < 5 - row) {
System.out.print(' ');
} else {
System.out.print('*');
}
}
System.out.println();
}
//质数的判断
int n = 23;
boolean b = true;
for(int i =2;i
if(n%i==0){
b=false;
break;
}
}
if(b){
System.out.println("YES");
} else {
System.out.println("No");
}
//输出数列
int[] num = new int[20];
num[0] = 1;
num[1] = 1;
for (int i = 2; i < num.length; i++) {
num[i] = num[i - 1] + num[i - 2];
}
for (int i = 0; i < num.length; i++) {
System.out.print(num[i]);
System.out.print(' ');
}
System.out.println();
//歌手打分
int[] score = {12, 12, 14, 14, 15, 15, 15, 16, 16, 16, 17};
int sum = 0;
int max = score[0];
int min = score[0];
for (int i = 1; i < score.length; i++) {
sum += score[i];
}
for (int i = 1; i < score.length; i++) {
if (max < score[i]) {
max = score[i];
}
}
for (int i = 1; i < score.length; i++) {
if (min > score[i]) {
min = score[i];
}
}
double avg = (sum - max - min) / 8.0;
System.out.println(avg);
//判断数组元素是否重复
int[] n = {1, 2, 3, 1, 0};
boolean flag = true;
for (int i = 0; i < n.length; i++) {
for (int j = 0; j < n.length; j++) {
if (n[i] == n[j]) {
flag = false;
break;
}
}
}
if (flag) {
System.out.println("NO");
} else {
System.out.println("YES");
}
//判断数组对称
int[] n = {1, 2, 7, 2, 1};
boolean flag = true;
for (int i = 0; i < n.length / 2; i++) {
if (n[i] != n[n.length - i - 1]) {
flag = false;
break;
}
if (flag) {
System.out.println("YES");
} else {
System.out.println("NO");
}
}
//数制转换
int n = 30;
int[] m = new int[32];
int num = 0;
while (n != 0) {
m[num] = n % 2;
num++;
n /= 2;
}
for (int i = num - 1; i >= 0; i--) {
System.out.print(m[i]);
}
System.out.println();
}
//数字统计
int m = 1232312;
int[] n = new int[10];
int num = 0;
while (m != 0) {
n[num] = m % 10;
num++;
m /= 10;
}
int[] count = new int[10];
for (int i = 0; i < num; i++) {
count[n[i]]++;
}
int index = 0;
for (int i = 0; i < count.length; i++) {
if (count[index] <= count[i]) {
index = i;
}
}
System.out.println(index);
}
//数组编码,统计A[i]以前比A[i]小的元素的个数
int[] A = {0, 3, 2, 1, 4};
int[] B = new int[A.length];
B[0] = 0;
for (int i = 1; i < A.length; i++) {
int count = 0;
for (int j = i - 1; j >= 0; j--) {
if (A[j] < A[i]) {
count++;
}
}
B[i] = count;
System.out.print(B[i]);
}//数组排序
int[] m = {2, 10, 3, 4, 5};
for (int i = 0; i < m.length; i++) {
for (int j = 0; j < m.length - 1 - i; j++) {
if (m[j] > m[j + 1]) {
int temp = m[j];
m[j] = m[j + 1];
m[j + 1] = temp;
}
}
}
for (int i = 0; i < m.length; i++) {
System.out.println(m[i]);
}
//生成随即数组
int [] a = new int [10];
int [] b = new int [5];
int index;
int left = 10;
int temp;
for(int i = 0;i
a[i]=i+1;
}
for(int i = 0;i
index = (int)(Math.random()*left);
b[i]=a[index];
temp = a[index];
a[index]=a[left-1];
a[left-1]= temp;
left--;
}
for(int i = 0;i
System.out.println(b[i]);
}
//拉丁矩阵
int n = 6;
int [][] arr = new int [n][n];
int data;
for(int row = 0;row < arr.length;row++){
for(int col = 0;col
data = row + col + 1;
if(data <= n){
arr[row][col] = data;
} else{
arr[row][col] = data%n;
}
}
}
for(int row = 0;row
for(int col = 0;col
System.out.println(arr[row][col]);
System.out.print(' ');
}
System.out.println();
}
//杨辉三角
int[][] arr = new int [10][10];
for(int row = 0;row < arr.length;row++){
for(int col = 0;col <=row;col++){
if(col==0){
arr[row][col] = 1;
} else{
arr[row][col] = arr[row-1][col]+arr[row-1][col-1];
}
}
}
for(int row = 0;row
for(int col=0;col<=row;col++){
System.out.print(arr[row][col]);
System.out.print(' ');
}
System.out.println();
}
//存储图形结构
int[][] map = {
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0},
{0, 0, 0, 1, 0, 0, 0}
};
for (int row = 0; row < map.length; row++) {
for (int col = 0; col < map[row].length; col++) {
switch (map[row][col]) {
case 0:
System.out.print(' ');
break;
case 1:
System.out.print('*');
break;
}
}
System.out.println();
}
//螺旋数组
int n = 4;
int m = 5;
int[][] data = new int[n][m];
int dire; //当前数字的移动方向
final int UP = 0; //上
final int DOWN = 1;//下
final int LEFT = 2;//左
final int RIGHT = 3;//右
dire = RIGHT;
int value = 1; //数组元素的值
int row = 0;//第一维下标
int col = 0;//第二维下标
data[0][0] = 1;
while (value < n * m) {
switch (dire) {
case UP:
row--; //移动到上一行
if (row < 0) { //超越边界
row++;
dire = RIGHT;
continue; //跳过该次循环
} else if (data[row][col] != 0) { //已赋值
row++; //后退
dire = RIGHT;
continue; //跳过该次循环
}
break;
case DOWN:
row++;
if (row >= n) {
row--;
dire = LEFT;
continue;
} else if (data[row][col] != 0) {
row--;
dire = LEFT;
continue;
}
break;
case LEFT:
col--;
if (col < 0) {
col++;
dire = UP;
continue;
} else if (data[row][col] != 0) {
col++;
dire = UP;
continue;
}
break;
case RIGHT:
col++;
if (col >= m) {
col--;
dire = DOWN;
continue;
} else if (data[row][col] != 0) {
col--;
dire = DOWN;
continue;
}
break;
}
}
value++;
data[row][col] = value;
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
if (data[i][j] < 10) {
System.out.print(' ');
}
System.out.print(data[i][j]);
System.out.print(' ');
}
System.out.println();
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
