数论+乱搞——cf181B
/*
2-type B|D^k
3-type B|D-1
11-type B|D+1
6-type B质因子分解,
7-type 其他情况 3-type:
(a*(D^4-1)+b*(D^3-1)+...+d*(D-1)) % B = 0
B|(D-1)
11-type:
(a*(D^4-1)+b*(D^3+1)+c*(D^2-1)+d*(D^1+1)) % B=0
B|(D^k+(-1)^k)
k为奇数时,D^k-1因式分解后必然有B|(D+1)
k为偶数时,(D+1)(D^(k-1)-D^(k-2)+D^(k-3)...+1),也必有B|(D+1)
且对于任意的k,(D^k+(-1)^k)只有(D+1)这个公因子 */
#include<bits/stdc++.h>
using namespace std;
#define ll long long int prime[],vis[],m;
void init(){
for(int i=;i<=;i++){
if(!vis[i])prime[++m]=i;
for(int j=i;j<=;j+=i)
vis[j]=;
}
} ll D,B;//D进制下,除数是B int k;
int calc(ll B){
if((D-)%B==)return ;
if((D+)%B==)return ;
ll tmp=D;
k=;
for(;tmp<=1e16;tmp*=D){//2^7
++k;
if(tmp%B==)return ;
} return -;
} int main(){
init();
cin>>D>>B;
int res=calc(B);
if(res!=-){
if(res==){
cout<<"2-type"<<'\n';
cout<<k<<'\n';
return ;
}
else if(res==){
cout<<"3-type"<<'\n';
return ;
}
else if(res==){
cout<<"11-type"<<'\n';
return ;
}
return ;
} for(int i=;i<=m;i++)
if(B%prime[i]==){//每个质因子都要符合要求
ll tmp=;
while(B%prime[i]==)
B/=prime[i],tmp*=prime[i];
int res=calc(tmp);
if(res==-){
cout<<"7-type"<<'\n';
return ;
}
} cout<<"6-type"<<'\n';
}
数论+乱搞——cf181B的更多相关文章
- SPOJ - POLYNOM Polynomial(数论乱搞)题解
题意 :给你n个数,问你是否存在一个多项式(最多三次方)满足f(i)= xi. 思路:讲一个神奇的思路: x3 - (x - 1)3 = 3x2 - 3x + 1 x2 - (x - 1)2 = 2x ...
- Luogu P1134 阶乘问题 【数学/乱搞】 By cellur925
输入输出格式 输入格式: 仅一行包含一个正整数 NN . 输出格式: 一个整数,表示最右边的非零位的值. 输入输出样例 输入样例#1: 12 输出样例#1: 6 说明 USACO Training S ...
- URAL 1827 Indigenous Wars(排序、乱搞)
题意:给一个长度为n数组{a[i]}.有m个操作Ti,Si,Li表示找以Ti值结束,以Si值开始,长度为Li的连续子串.找到后,将区间的答案值设为1.一开始答案值全部为0.最后输出n个答案值. 好久没 ...
- UVA 11853 [dfs乱搞]
/* 大连热身E题 不要低头,不要放弃,不要气馁,不要慌张 题意: 在1000×1000的格子内有很多个炮弹中心,半径给定. 为某人能否从西部边界出发,从东部边界走出. 不能输出不能,能的话输出最北边 ...
- Codeforces 732e [贪心][stl乱搞]
/* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给n个插座,m个电脑.每个插座都有一个电压,每个电脑都有需求电压. 每个插座可以接若干变压器,每个变压器可以使得电压变为x/2上取整. 有无限个变 ...
- 【BZOJ-4692】Beautiful Spacing 二分答案 + 乱搞(DP?)
4692: Beautiful Spacing Time Limit: 15 Sec Memory Limit: 128 MBSubmit: 46 Solved: 21[Submit][Statu ...
- 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞
3578: GTY的人类基因组计划2 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 367 Solved: 159[Submit][Status][ ...
- 【BZOJ-2937】建造酿酒厂 前缀和 + 展环为链 + 乱搞
2937: [Poi2000]建造酿酒厂 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 70 Solved: 24[Submit][Status][D ...
- SCOI 2013 密码 & 乱搞
题意: Fish 是一条生活在海里的鱼.有一天他很无聊,就到处去寻宝.他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进.通过翻阅古籍,Fish 得知了这个密码的相关信息:1. 该密 ...
随机推荐
- FastDFSClient上传图片工具类
package cn.lijun.core.util; import org.apache.commons.io.FilenameUtils;import org.csource.common.Nam ...
- Echarts 甘特图教程
Echarts甘特图教程 echarts官网实例: https://gallery.echartsjs.com/editor.html?c=xEYpsVs30s 效果: 代码: <html& ...
- vue登录页和主页路由配置问题
登录页和主菜单首页是同一级的,都是用一个router-view,对于home页面里还有菜单,这里边还可以再增加一个router-view,那么在配置时候就是在home的路径增加个children路径配 ...
- Kali Linux下运行nfc工具测试!
由于Kali本身就集成了很多nfc工具,用起来很方便,再加上一个acr122u读卡器,来尝试PJ学校水卡! 首先安装驱动,到龙杰官网下载Linux的,解压后进入自己Linux发行版,Kali的是Deb ...
- table td 溢出隐藏
需要给table加一个属性:table-layout:fixed;
- Android Studio3.3中Cannot resolve symbol ActivityTestRule
最近在看<Android编程权威指南>,在Windows10下安装了Android Studio3.3,边看编练习书中的例子程序,看到第21章""音频播放与单元测试&q ...
- PHP定界符<<<的使用方法
在web编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法——按字符串输出的话,使用PHP肯定要有大量的转义符来对字符串中的引号''/" ...
- 转 笔记本无线和有线的MAC地址修改
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xueqiang03/article/details/80741734无线网卡的mac地址在出厂时就被 ...
- Springboot的Mybatis逆向工程
1.pom.xml添加mybatis和逆向插件依赖: <dependency> <groupId>org.mybatis.spring.boot</groupId> ...
- 大型项目必备IPC之Binder机制原理(一)
阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680 摘要 Binder是Android系统进程间通信(IPC)方式之一.Li ...