Advertisement
Guest User

factovisor

a guest
Apr 8th, 2020
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long long int n, m, fact = 1;
  4. vector<int> factor;
  5.  
  6. int factDiv(int n, int m){
  7.     if(n == 0) return m;
  8.     for(int i = 1; i*i <= m; i++){
  9.         while(m%i == 0){
  10.             factor.push_back(i);
  11.             m /= i;
  12.         }
  13.     }
  14.     if(m > 1) factor.push_back(m);
  15.  
  16.     for(long long int i = 1; i <= n; i++){
  17.         for(long long int j = 1; j <= factor.size(); j++){
  18.         fact += ((i%factor[j])*(fact%factor[j]))%factor[j];
  19.         }
  20.     }
  21.     return fact;
  22. }
  23.  
  24. int main(){
  25.     ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  26.     while(cin >> n >> m){
  27.         if (n >= m ){
  28.             cout << m << " divides " << n << "!" << endl;
  29.         }else if(n < m && factDiv(n,m)== 0){
  30.             cout << m << " divides " << n << "!" << endl;
  31.         }else{
  32.             cout << m << " does not divide " << n << "!" << endl;
  33.         }
  34.         fact = 1;
  35.     }
  36.     return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement