湖南省第十二屆大學生計算機程式設計競賽 2016
阿新 • • 發佈:2019-01-25
1803: 2016
Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 537 Solved: 343
[Submit][Status][Web Board]
Description
給出正整數 n 和 m,統計滿足以下條件的正整數對 (a,b) 的數量: 1. 1≤a≤n,1≤b≤m; 2. a×b 是 2016 的倍數。Input
輸入包含不超過 30 組資料。 每組資料包含兩個整數 n,m (1≤n,m≤109).Output
對於每組資料,輸出一個整數表示滿足條件的數量。Sample Input
32 63
2016 2016
1000000000 1000000000
Sample Output
1
30576
7523146895502644
HINT
Source
我去湖南也會爆零-----------
程式碼:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define LL long long int A[2020]; int shu[100]; int main() { LL n,m; for (int i=1;i<=2016;i++) { if (2016%i==0) { for (int j=i;j<=2016;j+=i) A[j]=2016/i; } } while(~scanf("%lld%lld",&n,&m)) { LL a=n/2016; LL b=n%2016; a++; if (b==0) a--; LL s=0; for (int i=1;i<=2016&&i<=n;i++) { s+=m/A[i]*a; if (i==b) a--; } printf("%lld\n",s); } return 0; }