以下是一个 25 行 25 列的字母矩阵,全部由字母 A 和 B 组成。
AAAAAAABABBAABABABAAAAAAA
ABBBBBABBAABBBBBABABBBBBA
ABAAABABBBABAABBBBABAAABA
ABAAABABBBBBAABAABABAAABA
ABAAABABBABABBABABABAAABA
ABBBBBABBBABAABBBBABBBBBA
AAAAAAABABABABABABAAAAAAA
BBBBBBBBABAABABBBBBBBBBBB
AABAABABBAAABBAAABABBBBBA
ABBABABBBABBAAAABBBBAAAAB
BBBBAAABABAABABAABBBAABBA
BBAABABABAAAABBBAABBAAAAA
ABABBBABAABAABABABABBBBBA
AAAABBBBBABBBBAAABBBABBAB
AABAABAAABAAABAABABABAAAA
ABBBBBBBBABABBBBABAABBABA
ABBBAAABAAABBBAAAAAAABAAB
BBBBBBBBABBAAABAABBBABBAB
AAAAAAABBAAABBBBABABAABBA
ABBBBBABBAABABAAABBBABBAA
ABAAABABABBBAAAAAAAAAABAA
ABAAABABABABBBABBAABBABAA
ABAAABABBABBABABAABAABAAA
ABBBBBABABBBBBABBAAAABAAA
AAAAAAABAABBBAABABABBABBA
请问在这个矩阵中有多少个字母A?
import java.util.Scanner;
public class A的个数 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int SUM=0;
Scanner sc=new Scanner(System.in);
String s="AAAAAAABABBAABABABAAAAAAA\r\n" +
" ABBBBBABBAABBBBBABABBBBBA\r\n" +
" ABAAABABBBABAABBBBABAAABA\r\n" +
" ABAAABABBBBBAABAABABAAABA\r\n" +
" ABAAABABBABABBABABABAAABA\r\n" +
" ABBBBBABBBABAABBBBABBBBBA\r\n" +
" AAAAAAABABABABABABAAAAAAA\r\n" +
" BBBBBBBBABAABABBBBBBBBBBB\r\n" +
" AABAABABBAAABBAAABABBBBBA\r\n" +
" ABBABABBBABBAAAABBBBAAAAB\r\n" +
" BBBBAAABABAABABAABBBAABBA\r\n" +
" BBAABABABAAAABBBAABBAAAAA\r\n" +
" ABABBBABAABAABABABABBBBBA\r\n" +
" AAAABBBBBABBBBAAABBBABBAB\r\n" +
" AABAABAAABAAABAABABABAAAA\r\n" +
" ABBBBBBBBABABBBBABAABBABA\r\n" +
" ABBBAAABAAABBBAAAAAAABAAB\r\n" +
" BBBBBBBBABBAAABAABBBABBAB\r\n" +
" AAAAAAABBAAABBBBABABAABBA\r\n" +
" ABBBBBABBAABABAAABBBABBAA\r\n" +
" ABAAABABABBBAAAAAAAAAABAA\r\n" +
" ABAAABABABABBBABBAABBABAA\r\n" +
" ABAAABABBABBABABAABAABAAA\r\n" +
" ABBBBBABABBBBBABBAAAABAAA\r\n" +
" AAAAAAABAABBBAABABABBABBA";
char [] arr=s.toCharArray();
for (int i = 0; i <arr.length; i++) {
if(arr[i]=='A') {
SUM++;
}
}
System.out.println(SUM);
}
}
对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。
例如,一个 4 行 5 列的螺旋矩阵如下:
1 2 3 4 5
14 15 16 17 6
13 20 19 18 7
12 11 10 9 8
请问,一个 30 行 30 列的螺旋矩阵,第 20 行第 20 列的值是多少?
public class 超大玉螺旋丸 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] arr=fang(30);
System.out.println(arr[19][19]);
}
private static int[][] fang(int n) {
// TODO Auto-generated method stub
int [][] ac=new int[n][n];
int count=1;
for (int i = 0; i < n/2; i++) {
for (int j = i; j < n-i-1; j++) {
ac[i][j]=count++;
}
for (int j = i; j < n-i-1; j++) {
ac[j][n-1-i]=count++;
}
for (int j = i; j < n-i-1; j++) {
ac[n-1-i][n-1-j]=count++;
}
for (int j = i; j < n-i-1; j++) {
ac[n-1-j][i]=count++;
}
}
// if(n%2==1) ac[n/2][n/2]=count;
return ac;
}
}