测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70725. 集合

编程题 基础

题目描述

现在给你一些连续的整数,它们是从A到B的整数。一开始每个整数都属于各自的集合,然后你需要进行以下的操作:
每次选择两个属于不同集合的整数,如果这两个整数拥有大于等于P的公共质因数,那么把它们所在的集合合并。
反复如上操作,直到没有可以合并的集合为止。
现在请编程计算,最后有多少个集合。

输入格式

一行,三个整数A,B,P。

A≤B≤100000;

2≤P≤B。

输出格式

一个数,表示最终集合的个数。

输入输出样例

输入 #1
10 20 3
输出 #1
7

说明/提示

## 思路

用并查集维护连通:find 找根,unite 合并集合。

## 步骤

1. 初始化每个元素的父节点为自己。
2. 按操作合并或查询是否同根。
3. 输出题面要求的连通信息。