A.约数个数

对于一个整数,能整除这个整数的数称为这个数的约数。例如:1,2,3,6都是6的约数。 请问78120有多少个约数。

参考代码

package lanqiaobei_11;

public class yueshugeshu {

public static void main(String[] args) {

int a = 78120;

int sum =0;

for (int i = 1; i <=a; i++) {

if (a % i== 0) {

sum++;

}

}

System.out.println(sum);

}//96

}

B.寻找2020

小蓝有一个数字矩阵,里面只包含数字0和2。小蓝很喜欢2020,他想找到这个数字矩阵中有多少个2020 。 小蓝只关注三种构成2020的方式: 。同一行里面连续四个字符从左到右构成2020。。同一列里面连续四个字符从上到下构成2020。 。在一条从左上到右下的斜线上连续四个字符,从左上到右下构成2020。例如,对于下面的矩阵: 22000o oo0ooo

002202

ooo0oo

000022

002020 一共有5个2020。其中1个是在同一行里的,1个是在同一列里的,3个是斜线上的。 小蓝的矩阵比上面的矩阵要大,由于太大了,他只好将这个矩阵放在了一个文件里面,在试题目录下有一个文件2020.txt,里面给出了小蓝的矩阵。 请帮助小蓝确定在他的矩阵中有多少个2020。  

参考代码

package lanqiaobei_11;

import java.util.*;

public class search2020 {

static char[][] arr = new char[300][300];

static int res = 0;

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

for (int i = 0; i < 300; i++) {

StringBuilder builder = new StringBuilder(in.next());

for (int j = 0; j < builder.length(); j++) {

arr[i][j] = builder.charAt(j);

}

}

//行

for (int i = 0; i < arr.length; i++) {

for (int j = 0; j < arr[i].length; j++) {

String s = "";

for (int k = j; k < j+4 && k < arr[i].length; k++) {

s+=arr[i][k];

}

if(s.length() == 4 && s.equals("2020")){

res++;

}

}

}

//列

for (int i = 0; i < arr[0].length; i++) {

for (int j = 0; j < arr.length; j++) {

String s = "";

for (int k = j; k < j+4 && k < arr.length; k++) {

s+= arr[k][i];

}

if(s.length() == 4 && s.equals("2020")){

res++;

}

}

}

//右下方向斜线

for (int i = 0; i < arr.length; i++) {

for (int j = 0; j < arr[i].length; j++) {

//检查最后一个坐标是否符合

if( i + 3 < arr.length && j + 3 < arr[i].length){

String s = "";

s+= arr[i][j]

文章链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: