解析

题意可以化为:
8∗10x−19+kn=08*\frac{10^x-1}{9}+kn=08∗910x−1​+kn=0
然后用 8 尽可能的消去 9n9n9n 中的2的幂次,随后问题转化为:
10x≡1(modn′)10^x\equiv 1\pmod {n'}10x≡1(modn′)
然后…我就觉得这个是exbsgs了…
但其实完全不用阿!

这个东西就是求 101010 在模 n′n'n′ 意义下的
首先,无解的充要条件是 gcd⁡(10,n′)>1\gcd(10,n')>1gcd(10,n′)>1。
否则,答案必然是 φ(n′)\varphi(n')φ(n′) 的因数,因为 10φ(n′)≡1(modn′)10^{\varphi(n')}\equiv 1\pmod {n'}10φ(n′)≡1(modn′)。
暴力检验即可。
注意会爆 long long

代码

#include<bits/stdc++.h>
using namespace std;
#define ll __int128
#define debug(...) fprintf(stderr,__VA_ARGS__)
#define OK debug("OK\n")
inline ll read(){ll x(0),f(1);char c=getchar();while(!isdigit(c)){if(c=='-') f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}const int N=1e7+100;
const int mod=998244353;inline ll ksm(ll x,ll k,ll mod){ll res(1);while(k){if(k&1) res=res*x%mod;x=x*x%mod;k>>=1;}return res;
}int n,m;int prime[N/10],tot;
bool vis[N];
void init(){int n=1e7;for(int i=2;i<=n;i++){if(!vis[i]){prime[++tot]=i;}for(int j=1;j<=tot&&prime[j]<=n/i;j++){int now=prime[j];vis[now*i]=1;if(i%now==0){break;}}}  return;
}ll calc(ll n){ll res=n,x=n;for(int i=2;1ll*i*i<=n;i++){if(x%i) continue;res=1ll*res/i*(i-1);while(x%i==0) x/=i;}if(x>1)  res=1ll*res/x*(x-1);return res;
}inline ll gcd(ll x,ll y){return y?gcd(y,x%y):x;
}
ll find(ll phi,ll mod){if(gcd(10,mod)>1) return 0;ll ans=2e18;for(ll i=1;i*i<=phi;i++){if(phi%i) continue;if(ksm(10,i,mod)==1) ans=min(ans,i);if(ksm(10,phi/i,mod)==1) ans=min(ans,phi/i);}return ans;
}signed main(){#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);
#endifint clo(0);while(1){ll n=read()*9;if(!n) break;for(int i=1;i<=3&&n%2==0;i++) n>>=1;ll phi=calc(n);printf("Case %d: %lld\n",++clo,(long long)find(phi,n));}return 0;
}
/*
*/

YBTOJ:最小数(欧拉函数)相关推荐

  1. LightOJ 1370 Bi-shoe and Phi-shoe(欧拉函数)

    题意:题目给出一个欧拉函数值F(X),让我们求>=这个函数值的最小数N,使得F(N) >= F(X); 分析:这个题目有两种做法.第一种,暴力打出欧拉函数表,然后将它调整成有序的,再建立一 ...

  2. 算法总结之欧拉函数中国剩余定理

    算法总结之欧拉函数&中国剩余定理 1.欧拉函数 概念:在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)( ...

  3. poj2154-color-polyan次二面体+欧拉函数优化

    N<=1e9,O(nlogn)的做法会超时.从枚举置换转变为枚举轮换长度,然后可以利用欧拉函数,把复杂度变为O(√n * logn) 1 /*-------------------------- ...

  4. hdu 1286( 欧拉函数 )

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 数学题真的是有点吃不消了... View Code 1 #include<iostream ...

  5. 费马定理中值定理_数论-欧拉函数、欧拉定理

    欧拉函数 积性函数 满足 ( 互质) 定义 对于正整数 ,欧拉函数是小于等于 的所有数中与 互质的数的 个数. 欧拉函数是积性函数(这个证明不是很显然,这个链接里面有很多种证明方法) 记作: 公式 , ...

  6. poj2154(Polya+欧拉函数优化模版)

    #include <cstdio> #include <cstring> #include<iostream> using namespace std; const ...

  7. 【数学专题】约数个数与欧拉函数

    整理的算法模板合集: ACM模板 目录 一.约数个数 1. AcWing 1291. 轻拍牛头 2. AcWing 1294. 樱花 2.1 AcWing 197. 阶乘分解 3. AcWing 19 ...

  8. 【数学知识】三种方法求 [1,n] 中所有数欧拉函数(线性筛欧拉函数优化至 O(n) )

    整理的算法模板合集: ACM模板 ①直接求小于或等于n,且与n互质的数个数(求[1,n]中所有数的欧拉函数时间复杂度:O(nn)O(n\sqrt{n})O(nn​)) ②求[1,n]之间每个数的质因数 ...

  9. bzoj 1409 Password 矩阵快速幂+欧拉函数

    可以发现,该数组的mi就是斐波那契数列 所以要矩阵快速幂搞出第n位 但是斐波那契数列上涨的很快,这就需要欧拉定理了 p^phi(q)%q=1(gcd(p,q)==1) p是素数,所以可以用 然后需要5 ...

  10. hdu1695(莫比乌斯)或欧拉函数+容斥

    题意:求1-b和1-d之内各选一个数组成数对.问最大公约数为k的数对有多少个,数对是有序的.(b,d,k<=100000) 解法1: 这个能够简化成1-b/k 和1-d/k 的互质有序数对的个数 ...

最新文章

  1. Android之View绘制流程源码分析
  2. 解读金山网盾3.5 0day漏洞免疫技术
  3. 从目录中查找最大和最小的文件(不包括子目录)
  4. VTK序列图像的读取
  5. Dubbo的发展历史
  6. 130塔式服务器系统,PowerEdge T130塔式服务器怎么样
  7. Django实战(1):需求分析和设计
  8. HDU2277_变色球
  9. git ssh key生成
  10. Linux Kernel TCP/IP Stack|Linux网络硬核系列 | 图
  11. 知识图谱研讨实录08丨肖仰华教授带你读懂知识图谱的质量控制
  12. 倾斜补偿的电子罗盘(1):地磁场,磁传感器,倾斜补偿
  13. 平面上两条直线的夹角
  14. yolov3训练步骤
  15. 【EduCoder答案】时域采样定理
  16. 软件包管理:rpm和yum
  17. html css表格制作,CSS 表格(Table)
  18. 如何让浏览器用极速模式打开网站而不是兼容模式
  19. 透视城市“生命线” MapGIS地下管线三维建模工具
  20. mysql数据库约束详解_深入理解mysql数据库的约束

热门文章

  1. sklearn线性回归详解
  2. php json.parse,JSON.parse()与JSON.stringify()和eval()使用方法详解
  3. python生成器yield原理_Python generator生成器和yield表达式详解
  4. python开发面试问题及答案_前50个Python面试问题(最受欢迎)
  5. mysql安装版和解压版哪个好_红米k30pro变焦版和荣耀30pro哪个好-哪个更值得入手...
  6. c++ 模板类实现堆栈实验报告_编译原理——小型类C编译器的设计和实现(生成8086汇编代码)之1:问题定义以及总体功能...
  7. ubuntu mysql集群搭建_ubuntu server部署mysql集群
  8. linux 用mutex定义一个linkedlist,一个高性能无锁非阻塞链表队列
  9. [mybatis]映射文件_参数处理_#和$取值区别
  10. [数据结构-严蔚敏版]P61ADT Queue的表示与实现(单链队列-队列的链式存储结构)