试题 算法提高 Monday-Saturday质因子
这个问题是个简单的与数论有关的题目,看起来似乎是“求正整数的所有质因子”,但实际上并不完全是这样。
本题中在这里插入代码片## 标题需要定义以下几个概念:
1. Monday-Saturday数
对于一个正整数N,如果它除以7得到的余数是1或6,则可以写成N=7k+{1,6}的形式。更形象的,我们把这样的N称作“Monday-Saturday数”,简称“MS数”。
2. Monday-Saturday因子
如果对于两个MS数a,b,若存在一个MS数x,使得ax=b,那么就称a是b的一个“Monday-Saturday因子”,简称“MS因子”。
3. Monday-Saturday质数
如果对于MS数a,满足a>1且除了1和a之外a没有其他的MS因子,那么称a是一个“Monday-Saturday质数”,简称“MS质数”。
注:对于传统意义上的质数,若它是一个MS数,则它一定是一个MS质数。但反之不必成立,例如27,它是一个MS质数但不是传统意义上的质数。
4. Monday-Saturday质因子
如果对于两个MS数a,b,若满足a是b的MS因子且a是一个MS质数,那么称a是b的一个“Monday-Saturday质因子”。
例如:27是216的一个MS质因子(216=27*8)。
问题就是,给定一个MS数N,求其所有的Monday-Saturday质因子。
输入格式
每个输入数据包含多行,每行一个整数N(保证N一定是MS数,1<N<300000)。
输入的最后一行是一个整数1(对于这一行,你不必输出任何信息)。
每个输入数据不超过100行。
输出格式
对于每个N输出一行,表示N的所有Monday-Saturday质因子,按从小到大的顺序输出。格式形如“N: p1 p2 p3 …… pk”,注意行末无多余空格。
【样例输入】
205920
262144
262200
279936
299998
1
【样例输出】
205920: 6 8 13 15 20 22 55 99
262144: 8
262200: 6 8 15 20 50 57 69 76 92 190 230 475 575 874 2185
279936: 6 8 27
299998: 299998
数据规模和约定
1<N<300000,每个输入数据不超过100行。
解:
#include<iostream>
#include<vector>
using namespace std;
bool sign[300001]={0};
vector<int> v;
bool check(int x)
{if(!sign[x]) return 0;//判断x是否为MS数 for(int i=2;i<=x/2;i++){if(x%i==0&&sign[i])//判断x是否为MS质数return 0;}return 1;
}
int main()
{int n;for(int i=1;i<=300000;i++)if(i%7==1||i%7==6) sign[i]=1;while((cin>>n)&&n!=1){v.clear();cout<<n<<":";for(int i=2;i<=n;i++)if(n%i==0)//找n的因子 v.push_back(i);for(int i=0;i<v.size();i++)if(check(v[i])) cout<<" "<<v[i];cout<<endl;}
}
试题 算法提高 Monday-Saturday质因子相关推荐
- 蓝桥杯试题 算法提高 扶老奶奶过街(C语言)
试题 算法提高 扶老奶奶过街(C语言) 资源限制 时间限制:1.0s 内存限制:256.0MB 一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: ...
- 【算法竞赛模板】质因子、质数、约数、余数、快速幂(数论大全)
常用数论的算法模板 一.质因子 二.质数 三.约数 ① 试除法求一个数所有约数 ② 求约数个数 ③ 求约数和 ④ 求最大公约数 <1> gcd辗转相除 <2> 扩展欧几里得 & ...
- 蓝桥杯 试题 算法提高 P0402 猴子吃桃问题 Java
试题 算法提高 P0402 资源限制 时间限制:1.0s 内存限制:256.0MB 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个. ...
- 试题 算法提高 成绩排名
试题 算法提高 成绩排名 Lan 2020-03-28 22:34 363 人阅读 0 条评论 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 小明刚经过了一次数学考 ...
- 试题 算法提高 能量项链
试题 算法提高 能量项链 问题描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠 ...
- 蓝桥试题 算法提高 矩阵翻转
21-22-1蓝桥训练1 D.试题 算法提高 矩阵翻转 问题描述: Ciel有一个N*N的矩阵,每个格子里都有一个整数.N是一个奇数,设X = (N+1)/2.Ciel每次都可以做这样的一次操作:他从 ...
- 蓝桥试题 算法提高 打包(二分法,最大值最小化)
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Lazy有N个礼物需要打成M个包裹,邮寄给M个人,这些礼物虽然很便宜,但是很重.Lazy希望每个人得到的礼物的编号都是连续的.为了 ...
- 蓝桥杯试题 算法提高 转圈游戏 C/C++
试题 算法提高 转圈游戏 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最 ...
- 试题 算法提高 瓷砖铺放 增强
试题 算法提高 瓷砖铺放 增强 资源限制 时间限制:3.0s 内存限制:256.0MB 问题描述 给了一nxm的方格,用1x3的瓷砖铺满,请问有多少种铺法.瓷砖可以旋转. 输入格式 输入的第一行包含两 ...
- 蓝桥杯试题 算法提高 Monday-Saturday质因子
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 这个问题是个简单的与数论有关的题目,看起来似乎是"求正整数的所有质因子",但实际上并不完全是这样. 本题中需要定义 ...
最新文章
- Java多线程协作CountDownLatch,主线程等待子线程结束
- LinkedHashMap源码分析
- ubuntu下软件删除
- Beautiful Soup库
- 韩国女主播被中国土豪打赏13万 差点吓晕!网友:真是没见过世面
- .NET中Web Service的异常机制
- as5300g2 nas软件功能_浪潮AS5300G2 5500G2存储2U12
- 再谈几种语言的运行速度比较:看第三方比较结论!
- 安装LoadRunner时提示缺少vc2005_sp1_with_atl_fix_redist解决方案
- 瀑布模型,快速原型模型,增量模型,螺旋模型以及敏捷开发模型的相关概念
- mini6410 LED驱动程序及LED测试程序的设计
- Linux文件与目录的三种时间状态(mtime,atime,ctime)区别
- 企业u盘系统服务器,服务器u盘装系统
- IT人应该读的几本书
- 美国计算机音乐专业,美国音乐博士解析
- 【附资料】PMP证书有用吗?
- AWS Key Management Service(KMS)
- 就您所知,它只是一个Java库
- 小满 | 清和暑夏,小得盈满
- 用jQuery实现qq音乐播放器