A. Multiplication Table
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Let’s consider a table consisting of n rows and n columns. The cell located at the intersection of i-th row and j-th column contains number i × j. The rows and columns are numbered starting from 1.
You are given a positive integer x. Your task is to count the number of cells in a table that contain number x.
Input
The single line contains numbers n and x (1 ≤ n ≤ 105, 1 ≤ x ≤ 109) – the size of the table and the number that we are looking for in the table.
Output
Print a single number: the number of times x occurs in the table.
Sample test(s)
input
10 5
output
2
input
6 12
output
4
input
5 13
output
0
Note
A table for the second sample test is given below. The occurrences of number 12 are marked bold.
我的内心是崩溃的。。。
20天没写代码。。。
然后这道谁题。。。竟然wa了两次。。。
其实思路是没有错的。。。
然后自作聪明得想优化。。。
把优化去掉就A了。。
慢慢恢复感觉==
哦,光扯了。
这道题很显然。。。x出现的话,在每一行只可能出现0次或1次。。
要同时满足 x%i==0 和 x/i<=n
1/*******************************************************************
2Author :111qqz
3*******************************************************************/
4
5#include <algorithm>
6#include <cstdio>
7#include <iostream>
8#include <cstring>
9#include <string>
10#include <cmath>
11#include <map>
12#include <stack>
13#include <queue>
14#include <set>
15
16using namespace std;
17typedef long long LL;
18typedef unsigned long long ULL;
19const int inf = 0x7fffffff;
20int main()
21{
22 int n,x;
23 int ans= 0;
24 cin>>n>>x;
25 for ( int i = 1 ; i <= n ; i++)
26 {
27 if (x%i==0 && x/i<=n)
28 {
29 ans++;
30 }
31 }
32 cout<<ans<<endl;
33
34 return 0;
35}