数论+乱搞——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. 该密 ...
随机推荐
- Anaconda 安装 pytorch报错解决方法
一.安装Pytorch: # -c 指定用pytorch镜像源下载软件conda install pytorch torchvision cpuonly -c pytorch 报错: 二.配置: ch ...
- uORBMain.cpp学习
uorb_main int uorb_main(int argc, char *argv[]) { if (argc < 2) { usage(); ...
- String StringBuffer BufferBuilder区别
String 是一个字符串常量,即该对象一旦被创建之后是不可以进行更改的 StringBuffer StringBuilder 是一个字符串变量 StringBuffer 是非线程安全的 但是Stri ...
- delphi 读写记录类型文件Record
type personInfo=Record //定义Record Name:String[10]; Age:integer; end; //写记录包括新键与添加记录 procedure WriteR ...
- SQL Server数据库备份&还原
一.备份 1.登录数据库 2.找到要还原的数据库 右键-任务-备份-添加(路径只写一个,刚开始二个总是报错)-确定 二.还原数据库 这个之间报错了二次 1.报错1:备份集中的数据库与现有数据库“XXX ...
- JS基础入门篇(二十七)—BOM
虽然上次写到js基础篇(二十四),这次直接写到(二十七).是为了提醒自己中间有几篇没写.特此说明一下啊. 1.window.open() 使用a标签呢,点击一下a标签页面才会跳转,有时候我们需要做的操 ...
- echarts 柱状图 X(Y)轴数据过多时,滑动以及内置缩放的问题
前言:在开发中碰到的情况(菜鸟出门). 在使用echarts 图表的时候发现要展示的数据过多,但是系统留的展示框太小,造成数据都挤压在一块(不好看而且新感觉很不专业). ...
- SSM框架启动报 org.apache.bval.jsr303.ConfigurationImpl.getDefaultParameterNameProvider
今天在做项目,在启动的时候报了一个错.错误信息是org.apache.bval.jsr303.ConfigurationImpl.getDefaultParameterNameProvider. 原因 ...
- php把网络图片转Base64编码。(php将图片链接直接转化为base64编码)
/** 把网络图片图片转成base64 * @param string $img 图片地址 * @return string */ /*网络图片转为base64编码*/ public function ...
- MySQL忘记密码无法登录的处理办法
MySQL安装在CentOS服务器上. 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库.因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护 ...