#include #include #include #include using namespace std; const int N = 1e5+10; int a, b, p1; int sum, p[N];

int fifa(int x){ if(p[x] == x) return x; return p[x] = fifa(p[x]); }

void join(int x, int y){ int g = __gcd(x, y); if(g >= p1){ int fx = fifa(x); int fy = fifa(y); if(fx != fy){ sum++; p[fy] = fx; } } }

int main(void){ cin >> a >> b >> p1; for(int i = a; i <= b; i++) p[i] = i; for(int i = a; i <= b; i++){ for(int j = i+1; j <= b; j++){ if(i == j) continue; join(i, j); } } cout << sum << endl; return 0;


原文地址: http://www.cveoy.top/t/topic/iJWZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录