[POJ3641] 伪素数

该博客主要介绍了POJ3641题目的内容,涉及信息学竞赛(OI)中的数论问题。文章讨论了如何判断一个数是否是基于特定基数a的伪素数,并提供了输入输出格式以及样例数据。博主还提到,这个问题是Miller-Rabin素数测试的简化版,重点在于理解伪素数的定义:对于不是素数的p,如果a^p ≡ a (mod p),则p是a的伪素数。文章末尾给出了源代码实现。

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


题目描述

根据以a为基的伪素数的定义,判断p是否是以a为基的伪素数。(2 < p ≤ 1000000000 and 1 < a < p )


输入格式

输入数据有多组,每组数据占一行,包含两个整数p和a,输入以“0 0”结束。


输出格式

如果p是以a为基的伪素数,则输出“yes”,否则输出“no”。


样例数据

样例输入

3 2
10 3
341 2
341 3
1105 2
1105 3
0 0

样例输出

no
no
yes
no
yes
yes


题目分析

Miller_Rabin的前奏,这题没什么意义
a为底伪素数定义:p不是素数且a^p≡a (mod p)。


源代码

#include<algorithm>
#include<iostream>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值