【题目】Problem C.寻找i*j=m的个数

Problem C.寻找i*j=m的个数

问题描述
3*3的矩阵内容。

1 2 3
2 4 6
3 6 9

即a[i][j] (1<=i<=n,1<=j<=n) = ij。
问一个这样n
n的矩阵里面,里面m出现的次数。
例如n为3,m为6.
那么出现的次数就是2

Input
输入正整数N,表示N例测试(N<=20)。接着输入n(n<=105),(m<=109)。

Output
对每组输入数据,输出m出现的次数。

Sample Input

2
3 6
3 3

Sample Output

2
2

解答:

import java.util.Scanner;
/*
Problem C.寻找i*j=m的个数
问题描述
3*3的矩阵内容。
1 2 3
2 4 6
3 6 9
即a[i][j](1<=i<=n,1<=j<=n)=i*j。
问一个这样n*n的矩阵里面,里面m出现的次数。
例如n为3,m为6.
那么出现的次数就是2
Input
输入正整数N,表示N例测试(N<=20)。接着输入n(n<=105),(m<=109)。
Output
对每组输入数据,输出m出现的次数。
Sample Input
2
3 6
3 3
Sample Output
2
2
 */
public class Test{
	
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		while(scanner.hasNext()) {
			int n = scanner.nextInt();
			for(int t = 0; t < n; t++) {
				int num = scanner.nextInt();
				int m = scanner.nextInt();
				int count = 0;
		        for( int i = 1; i <= num; i++ )//用除法
		            if(m % i == 0 && m / i <= num)//如果可以整除并且另一个除数在num范围内
		            	count++;
				System.out.println(count);
			}
		}
	}
}
发布了233 篇原创文章 · 获赞 254 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_44485744/article/details/105030561