不知道错在哪里,永远T

/*
引理:a,n互质,则满足a^x=1(mod n)的最小正整数x0是φ(n)的约数
思路:求出d=gcd(L,8)
求出φ(9L/d)的约数集合,再枚举约数x,是否满足10^x = 1 (mod 9L/d)
*/
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
#define ll long long ll l,d,phi,m,factor[];
ll v[],prime[],mm;
void init(ll n){
memset(v,,sizeof v);
memset(prime, ,sizeof prime);
mm=;
for(int i=;i<=n;i++){
if(v[i]==){
v[i]=i;
prime[++mm]=i;
}
for(int j=;j<=m;j++){
if(prime[j]>v[i] || prime[j]*i>n) break;
v[i*prime[j]]=prime[j];
}
}
} ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
ll f(ll n){
ll res=n;//和1互质
for(int i=;i<=mm;i++){
if(prime[i]>n) break;
if(n%prime[i]==) res=res/prime[i]*(prime[i]-);
while(n%prime[i]==)
n/=prime[i];
}
if(n>) res=res/n*(n-);
return res;
}
ll mul(ll a,ll b,ll m)
{
ll res=;
while(b)
{
if(b&) res+=a;
if(res>m) res-=m;
a+=a;
if(a>m)
a-=m;
b>>=;
}
return res;
}
ll pow(ll a,ll b,ll m)
{
ll res=;
while(b)
{
if(b&) res=mul(res,a,m);
a=mul(a,a,m);
b>>=;
}
return res;
} int main(){
int tt=;
init(sqrt());
while(scanf("%lld",&l),l){
d=gcd(l,);
phi=f(*l/d);
if(gcd(,*l/d)!=) {
printf("Case %d: 0\n",++tt);
continue;
}
m=;
for(int i=;i*i<=phi;i++)
if(phi%i==){
factor[++m]=i;
if(i!=phi/i) factor[++m]=phi/i;
} //从小到大枚举每个约数
ll mod=*l/d,flag=;
sort(factor+,factor++m);
for(int i=;i<=m;i++){
if(pow(,factor[i],mod)%mod==){
flag=;
printf("Case %d: %lld\n",++tt,factor[i]);
break;
}
}
if(flag==) printf("Case %d: 0\n",++tt);
}
return ;
}

poj3696 欧拉函数引用的更多相关文章

  1. poj3696 快速幂的优化+欧拉函数+gcd的优化+互质

    这题满满的黑科技orz 题意:给出L,要求求出最小的全部由8组成的数(eg: 8,88,888,8888,88888,.......),且这个数是L的倍数 sol:全部由8组成的数可以这样表示:((1 ...

  2. 「POJ3696」The Luckiest number【数论,欧拉函数】

    # 题解 一道数论欧拉函数和欧拉定理的入门好题. 虽然我提交的时候POJ炸掉了,但是在hdu里面A掉了,应该是一样的吧. 首先我们需要求的这个数一定可以表示成\(\frac{(10^x-1)}{9}\ ...

  3. 【poj2478-Farey Sequence】递推求欧拉函数-欧拉函数的几个性质和推论

    http://poj.org/problem?id=2478 题意:给定一个数x,求<=x的数的欧拉函数值的和.(x<=10^6) 题解:数据范围比较大,像poj1248一样的做法是不可行 ...

  4. 51nod1040 最大公约数之和,欧拉函数或积性函数

    1040 最大公约数之和 给出一个n,求1-n这n个数,同n的最大公约数的和.比如:n = 6时,1,2,3,4,5,6 同6的最大公约数分别为1,2,3,2,1,6,加在一起 = 15 看起来很简单 ...

  5. HYSBZ - 3813 奇数国 欧拉函数+树状数组(线段树)

    HYSBZ - 3813奇数国 中文题,巨苟题,巨无敌苟!!首先是关于不相冲数,也就是互质数的处理,欧拉函数是可以求出互质数,但是这里的product非常大,最小都2100000,这是不可能实现的.所 ...

  6. hdu2588 GCD (欧拉函数)

    GCD 题意:输入N,M(2<=N<=1000000000, 1<=M<=N), 设1<=X<=N,求使gcd(X,N)>=M的X的个数.  (文末有题) 知 ...

  7. BZOJ 2705: [SDOI2012]Longge的问题 [欧拉函数]

    2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 2553  Solved: 1565[Submit][ ...

  8. BZOJ 2818: Gcd [欧拉函数 质数 线性筛]【学习笔记】

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 4436  Solved: 1957[Submit][Status][Discuss ...

  9. COGS2531. [HZOI 2016]函数的美 打表+欧拉函数

    题目:http://cogs.pw/cogs/problem/problem.php?pid=2533 这道题考察打表观察规律. 发现对f的定义实际是递归式的 f(n,k) = f(0,f(n-1,k ...

随机推荐

  1. GO语言的进阶之路-Golang高级数据结构定义

    GO语言的进阶之路-Golang高级数据结构定义 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们之前学习过Golang的基本数据类型,字符串和byte,以及rune也有所了解, ...

  2. 已以用户 NT AUTHORITY\SYSTEM 的身份执行。 对象 名称 'XXX' 包含的前缀超出了最大限值。最多只能有 2 个。

    我写了一个存储过程,里面用到了链接服务器,需要把这台电脑上的数据传送到连接服务器上去 insert [链接服务器].[数据库].[dbo].[表名] 我的数据 这样的格式是完全没问题的,问题出在于我t ...

  3. 学习windows编程 day4 之 绘制随机矩形和peekMessage

    #include <windows.h> #include <strsafe.h> LRESULT CALLBACK WndProc(HWND hwnd, UINT messa ...

  4. vue 中this指向遇到的坑

    vue中的this指向问题 如果方法中没有使用箭头函数,记得把this赋值给另一个变量再使用.

  5. table中表头不动,表体产生滚动条

    <div id="elec_table"> 2 <div class="table-head"> 3 <table> 4 & ...

  6. Windows 上安装 Redis 及可能出现的错误和解决方法!

    前言 Redis(REmote Dictionary Server) 是一种以key-value写得存储系统.他是开源的ANSI语言编写的.遵守BSD协议.被称作“数据结构服务器”,因为它的值(val ...

  7. mysql学习笔记-- 多表查询之外键、表连接、子查询、索引

    本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...

  8. git回滚远程仓库代码/错提master分支的恢复

    前言 今天周五了,刚接了个新微服务模块,下班前高高兴兴开发完,提交git代码,jenkins发布到测试环境.突然看到一个提示 我最近提的代码呢?!! 想到可能会提错仓库,转念一想,不对呀,我怎有这么高 ...

  9. 大量界面刷新时手动Dispose也是有必要的

    在winform窗体上拖一个flowLayoutPane,一个Button,项目中再创建一个用户控件UcControl,用户控件上放几十个子控件 private void button1_Click( ...

  10. 02、@PropertySource指定配置文件的属性映射到JavaBean属性

    零.@PropertySource 功能类似于 <context:property-placeholder location="classpath*:/config/load.prop ...