求 a/b % p

本文介绍了一种解决大数除法并取模问题的方法,特别适用于当被除数非常大,只能提供其模9973的值,并且除数与9973互质的情况。使用扩展欧几里得算法计算逆元来实现(A/B)%9973的快速求解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 http://acmpj.zstu.edu.cn/JudgeOnline/showproblem?problem_id=3076

要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。

Input

数据的第一行是一个T,表示有T组数据。
每组数据有两个数n(0 <= n < 9973)和B(1 <= B <= 10^9)。

Output

对应每组数据输出(A/B)%9973。

Sample Input

2
1000 53
87 123456789

Sample Output

7922
6060

 

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
//求(a/b)%p,gcd(B,p)=1
__int64 exgcd(__int64 a,__int64 b,__int64& x,__int64& y)
{
    if(b==0) return x=1,y=0,a;
    __int64 r=exgcd(b,a%b,x,y);
    __int64 t=x;
    x=y;
    y=t-(a/b)*y;
    return r;
}
__int64 calc(__int64 a,__int64 b,__int64 mod)
{
    __int64 x,y;
    __int64 r=exgcd(b,mod,x,y);
    x*=a;
    x=(x%mod+mod)%mod;
    return x;
}
int main()
{
    __int64 mod=9973;
    int ci;
    __int64 a,b;scanf("%d",&ci);
    while(ci--&&scanf("%I64d%I64d",&a,&b)==2)
    {
        printf("%I64d\n",calc(a,b,mod));
    }
    return 0;
}

<div class="page_ul"> <table width="100%"><tr valign="top"><td> <h3>M</h3> <ul><li><a href="/wiki/%E9%A9%AC%E6%96%AF%E6%B4%9B%E5%AE%9A%E7%90%86" title="马斯洛定理">马斯洛定理</a></li><li><a href="/wiki/%E9%BA%A6%E5%85%8B%E5%BC%97%E6%A3%AE%E5%8E%9F%E5%88%99" title="麦克弗森原则">麦克弗森原则</a></li><li><a href="/wiki/%E9%BA%A6%E5%90%89%E5%B0%94%E5%AE%9A%E7%90%86" title="麦吉尔定理">麦吉尔定理</a></li><li><a href="/wiki/%E7%8E%9B%E4%B8%BD%E6%B3%95%E5%88%99" title="玛丽法则">玛丽法则</a></li><li><a href="/wiki/%E6%AF%9B%E7%BB%86%E7%AE%A1%E7%90%86%E8%AE%BA" title="毛细管理论">毛细管理论</a></li><li><a href="/wiki/%E7%A9%86%E5%B0%94%E6%96%AF%E5%AE%9A%E5%BE%8B" title="穆尔斯定律">穆尔斯定律</a></li><li><a href="/wiki/%E6%8B%87%E6%8C%87%E8%A7%84%E5%88%99" title="拇指规则">拇指规则</a></li><li><a href="/wiki/%E8%8E%AB%E5%B0%94%E6%96%AF%E6%B3%95%E5%88%99" title="莫尔斯法则">莫尔斯法则</a></li><li><a href="/wiki/%E5%AF%86%E5%B0%94%E5%AE%9A%E5%BE%8B" title="密尔定律">密尔定律</a></li><li><a href="/wiki/%E5%AA%92%E4%BD%93%E5%8F%8B%E5%A5%BD%E6%B3%95%E5%88%99" title="媒体友好法则">媒体友好法则</a></li><li><a href="/wiki/%E9%97%A8%E7%94%B0%E6%B3%95%E5%88%99" title="门田法则">门田法则</a></li><li><a href="/wiki/%E6%A2%85%E8%A5%BF%E5%AE%9A%E7%90%86" title="梅西定理">梅西定理</a></li><li><a href="/wiki/%E5%8D%96%E6%B0%B4%E7%90%86%E8%AE%BA" title="卖水理论">卖水理论</a></li><li><a href="/wiki/%E6%A2%A6%E9%9C%B2%E5%AE%9A%E5%BE%8B" title="梦露定律">梦露定律</a></li><li><a href="/wiki/%E9%A9%AC%E6%A1%B6%E6%95%88%E5%BA%94" title="马桶效应">马桶效应</a></li><li><a href="/wiki/%E9%A9%AC%E7%91%9E%E7%89%B9%E6%B3%95%E5%88%99" title="马瑞特法则">马瑞特法则</a></li><li><a href="/wiki/%E5%8F%8C%E8%99%9E%E6%95%88%E5%BA%94" title="双虞效应">双虞效应</a></li><li><a href="/wiki/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5_1%25%E7%90%86%E8%AE%BA" title="每天进步 1%理论">每天进步 1%理论</a></li></ul> <h3>N</h3> <ul><li><a href="/wiki/%E9%B2%B6%E9%B1%BC%E6%95%88%E5%BA%94" title="鲶鱼效应">鲶鱼效应</a></li><li><a href="/wiki/%E5%8D%97%E9%A3%8E%E6%B3%95%E5%88%99" title="南风法则">南风法则</a></li><li><a href="/wiki/%E5%B0%BC%E4%BC%A6%E4%BC%AF%E6%A0%BC%E5%8E%9F%E5%88%99" title="尼伦伯格原则">尼伦伯格原则</a></li><li><a href="/wiki/%E5%87%9D%E8%81%9A%E6%95%88%E5%BA%94" title="凝聚效应">凝聚效应</a></li><li><a href="/wiki/%E7%BA%B3%E5%B0%94%E9%80%8A%E5%8E%9F%E5%88%99" title="纳尔逊原则">纳尔逊原则</a></li><li><a href="/wiki/%E6%8B%BF%E7%A0%B4%E4%BB%91%C2%B7%E5%B8%8C%E5%B0%94%E7%9A%84%E5%8D%81%E4%B8%83%E9%A1%B9%E6%88%90%E5%8A%9F%E5%8E%9F%E5%88%99" title="拿破仑·希尔的十七项成功原则">拿破仑·希尔的十七项成功原则</a></li><li><a href="/wiki/%E9%B8%9F%E7%AC%BC%E6%95%88%E5%BA%94" title="鸟笼效应">鸟笼效应</a></li><li><a href="/wiki/%E5%8C%BF%E5%90%8D%E6%95%88%E5%BA%94" title="匿名效应">匿名效应</a></li><li><a href="/wiki/%E5%86%85%E8%80%97%E6%95%88%E5%BA%94" title="内耗效应">内耗效应</a></li><li><a href="/wiki/NABC%E6%B3%95%E5%88%99" title="NABC法则">NABC法则</a></li><li><a href="/wiki/%E8%83%BD%E4%BA%8B%E7%9B%B8%E5%85%B3%E5%AE%9A%E5%BE%8B" title="能事相关定律">能事相关定律</a></li><li><a href="/wiki/%E8%84%B8%E8%B0%B1%E6%95%88%E5%BA%94" title="脸谱效应">脸谱效应</a></li><li><a href="/wiki/%E5%A5%88%E6%96%AF%E6%AF%94%E7%89%B9%E5%AE%9A%E7%90%86" title="奈斯比特定理">奈斯比特定理</a></li><li><a href="/wiki/%E9%9A%BE%E5%BE%97%E6%9C%BA%E4%BC%9A%E5%89%83%E5%88%80" title="难得机会剃刀">难得机会剃刀</a></li></ul> <h3>O</h3> <ul><li><a href="/wiki/%E5%A5%A5%E5%8D%A1%E5%A7%86%E5%89%83%E5%88%80%E5%AE%9A%E5%BE%8B" title="奥卡姆剃刀定律">奥卡姆剃刀定律</a></li><li><a href="/wiki/%E5%A5%A5%E6%A0%BC%E5%A8%81%E6%B3%95%E5%88%99" title="奥格威法则">奥格威法则</a></li><li><a href="/wiki/%E5%A5%A5%E7%8B%84%E6%80%9D%E6%B3%95%E5%88%99" title="奥狄思法则">奥狄思法则</a></li><li><a href="/wiki/%E5%A5%A5%E7%BE%8E%E5%8E%9F%E5%88%99" title="奥美原则">奥美原则</a></li><li><a href="/wiki/%E6%AC%A7%E5%BC%97%E6%96%AF%E6%89%98%E5%8E%9F%E5%88%99" title="欧弗斯托原则">欧弗斯托原则</a></li><li><a href="/wiki/%E8%80%A6%E5%90%88%E6%95%88%E5%BA%94" title="耦合效应">耦合效应</a></li></ul> <h3>P</h3> <ul><li><a href="/wiki/80/20%E6%B3%95%E5%88%99" title="80/20法则">80/20法则</a></li><li><a href="/wiki/%E5%B8%95%E9%87%91%E6%A3%AE%E5%AE%9A%E5%BE%8B" title="帕金森定律">帕金森定律</a></li><li><a href="/wiki/%E7%9A%AE%E6%A0%BC%E9%A9%AC%E5%88%A9%E7%BF%81%E6%95%88%E5%BA%94" title="皮格马利翁效应">皮格马利翁效应</a></li><li><a href="/wiki/%E7%A0%B4%E7%AA%97%E6%95%88%E5%BA%94" title="破窗效应">破窗效应</a></li><li><a href="/wiki/%E7%9A%AE%E5%B0%94%E6%96%AF%E5%AE%9A%E5%BE%8B%28%E5%A5%A5%E6%96%AF%E6%B1%80%C2%B7%E7%9A%AE%E5%B0%94%E6%96%AF%29" title="皮尔斯定律(奥斯汀·皮尔斯)">皮尔斯定律(奥斯汀·皮尔斯)</a></li><li><a href="/wiki/%E7%9A%AE%E4%BA%AC%E9%A1%BF%E5%AE%9A%E7%90%86" title="皮京顿定理">皮京顿定理</a></li><li><a href="/wiki/%E7%9A%AE%E5%B0%94%C2%B7%E5%8D%A1%E4%B8%B9%E5%AE%9A%E7%90%86" title="皮尔·卡丹定理">皮尔·卡丹定理</a></li><li><a href="/wiki/%E6%8A%AB%E5%A4%B4%E5%A3%AB%E6%B3%95%E5%88%99" title="披头士法则">披头士法则</a></li><li><a href="/wiki/%E6%94%80%E6%AF%94%E6%95%88%E5%BA%94" title="攀比效应">攀比效应</a></li><li><a href="/wiki/%E5%95%A4%E9%85%92%E6%95%88%E5%BA%94" title="啤酒效应">啤酒效应</a></li><li><a href="/wiki/%E8%9E%83%E8%9F%B9%E6%95%88%E5%BA%94" title="螃蟹效应">螃蟹效应</a></li><li><a href="/wiki/%E6%99%AE%E5%B8%8C%E5%B0%94%E5%AE%9A%E5%BE%8B" title="普希尔定律">普希尔定律</a></li><li><a href="/wiki/%E7%80%91%E5%B8%83%E5%BF%83%E7%90%86%E6%95%88%E5%BA%94" title="瀑布心理效应">瀑布心理效应</a></li><li><a href="/wiki/%E7%9B%86%E6%99%AF%E6%95%88%E5%BA%94" title="盆景效应">盆景效应</a></li><li><a href="/wiki/%E6%89%91%E5%85%8B%E8%84%B8%E6%95%88%E5%BA%94" title="扑克脸效应">扑克脸效应</a></li><li><a href="/wiki/%E5%B9%B3%E5%9D%87%E5%8C%96%E6%95%88%E5%BA%94" title="平均化效应">平均化效应</a></li><li><a href="/wiki/%E7%96%B2%E9%92%9D%E6%95%88%E5%BA%94" title="疲钝效应">疲钝效应</a></li><li><a href="/wiki/%E6%BD%98%E6%81%A9%E5%AE%9A%E7%90%86" title="潘恩定理">潘恩定理</a></li><li><a href="/wiki/%E6%B4%BE%E5%85%8B%E6%B3%95%E5%88%99" title="派克法则">派克法则</a></li><li><a href="/wiki/%E7%9A%AE%E9%9B%B7%E5%B0%94%E5%AE%9A%E7%90%86" title="皮雷尔定理">皮雷尔定理</a></li><li><a href="/wiki/%E7%93%B6%E9%A2%88%E6%95%88%E5%BA%94" title="瓶颈效应">瓶颈效应</a></li><li><a href="/wiki/%E6%B3%A1%E8%8C%B6%E6%95%88%E5%BA%94" title="泡茶效应">泡茶效应</a></li><li><a href="/wiki/%E6%8E%92%E4%BB%96%E6%B3%95%E5%88%99" title="排他法则">排他法则</a></li><li><a href="/wiki/%E6%B3%A1%E6%B2%AB%E6%95%88%E5%BA%94" title="泡沫效应">泡沫效应</a></li><li><a href="/wiki/PMA%E6%88%90%E5%8A%9F%E6%B3%95%E5%88%99" title="PMA成功法则">PMA成功法则</a></li><li><a href="/wiki/%E5%BD%AD%E5%B0%BC%E5%8E%9F%E5%88%99" title="彭尼原则">彭尼原则</a></li><li><a href="/wiki/%E4%BD%A9%E6%9E%97%E5%BF%A0%E5%91%8A" title="佩林忠告">佩林忠告</a></li><li><a href="/wiki/Penn%E6%95%88%E5%BA%94" title="Penn效应">Penn效应</a></li></ul> </td> </tr></table></div> (<a href="/w/index.php?title=Category:%E7%AE%A1%E7%90%86%E5%AE%9A%E5%BE%8B&until=M" title="Category:管理定律">前200条</a>) (<a href="/w/index.php?title=Category:%E7%AE%A1%E7%90%86%E5%AE%9A%E5%BE%8B&from=W" title="Category:管理定律">后200条</a>) <div class="printfooter"> python开发中,如何获取这里面的全部链接
最新发布
05-13
### 如何使用 Python 和 BeautifulSoup 提取指定范围内的 `<a href>` 链接 为了实现从特定 HTML 片段中提取所有 `<a href>` 链接的目标,可以按照以下方式操作: #### 1. 导入必要的库并发送 HTTP 请 首先需要导入 `requests` 库来获取目标网页的内容,并通过 `BeautifulSoup` 来解析 HTML 文档。 ```python import requests from bs4 import BeautifulSoup, Tag ``` 假设已经定义了一个函数用于抓取页面内容: ```python url = 'https://example.com' response = requests.get(url) if response.status_code != 200: raise Exception(f"Failed to load page: {response.status_code}") html_content = response.text ``` 此部分逻辑已在引用中提及[^1]。 --- #### 2. 构建 Beautiful Soup 对象 创建一个 `BeautifulSoup` 实例以便于后续查找和遍历 DOM 结构。 ```python soup = BeautifulSoup(html_content, 'lxml') ``` --- #### 3. 定位起始与结束标签 利用 `.find()` 方法定位到 `<div class="page_ul">` 起点以及 `<div class="printfooter">` 终点位置。如果这些节点不存在,则抛出异常或者返回空列表。 ```python start_div = soup.find('div', {'class': 'page_ul'}) end_div = soup.find('div', {'class': 'printfooter'}) if not start_div or not end_div: print("Start or End div is missing.") exit() ``` --- #### 4. 迭代子树寻找链接 由于我们只关心两个标记之间所有的 `<a>` 标签及其属性值 (`href`) ,因此可以通过递归访问起点之后直到终点之前的所有兄弟节点及后代节点完成筛选工作。 下面展示了一种可能的方法——手动构建一个新的临时容器存储符合条件的结果集: ```python def extract_links_between(start_tag: Tag, end_tag: Tag): links = [] current_sibling = start_tag.next_sibling while current_sibling and current_sibling != end_tag: if isinstance(current_sibling, Tag): for a_tag in current_sibling.find_all('a'): href = a_tag.get('href') if href: links.append(href) current_sibling = current_sibling.next_sibling return links links_found = extract_links_between(start_div, end_div) for idx, link in enumerate(links_found, 1): print(f"{idx}. Link found: {link}") ``` 这里的关键在于理解如何正确地迭代文档对象模型 (DOM),并通过条件判断过滤掉无关的部分[^2]^。 另外值得注意的是,在某些情况下,直接调用 `.next_siblings` 或者其他类似的导航方法可能会遇到性能瓶颈;此时考虑采用更高效的算法替代简单暴力枚举策略就显得尤为重要了[^3]. 最后附上一段测试样例验证功能是否正常运作: ```python test_html = ''' <html> <body> <div class='page_ul'> <p><a href='/path/to/file'>File</a></p> <ul> <li><a href='#section1'>Section One</a></li> <li><a href='#section2'>Section Two</a></li> </ul> </div> <!-- Irrelevant content --> <div class='printfooter'></div> </body> </html> ''' mock_soup = BeautifulSoup(test_html, 'lxml') mock_start = mock_soup.find('div', {'class':'page_ul'}) mock_end = mock_soup.find('div', {'class':'printfooter'}) result = extract_links_between(mock_start,mock_end ) assert result == ['/path/to/file','#section1','#section2'] ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值