fork download
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. void solve(int limit, int div){
  5. long long res = 0;
  6. for(int i = 1; i < div; i++){ //duyệt qua tất cả các khả năng dư khi chia cho div
  7. if((1ll*i*i) % div == 1){
  8. long long maxVal = i + 1ll * div * (limit / div);//số lớn nhất mà trong khoảng limit có phần dư là i
  9. if(maxVal > limit) maxVal -= div; //chắc chắn số đó không quá limit
  10. res += (maxVal-i)/div + 1;//đếm các số có phần dư là i
  11. }
  12. }
  13. cout << res << '\n';
  14. }
  15. int main(){
  16. ios_base::sync_with_stdio(false);
  17. cin.tie(0);
  18. int T; cin >> T;
  19. while(T--){
  20. int a, b;
  21. cin >> a >> b;
  22. solve(a, b);
  23. }
  24. return 0;
  25. }
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Standard output is empty