这个问题是个简单的与数论有关的题目,看起来似乎是“求正整数的所有质因子”,但实际上并不完全是这样。

本题中在这里插入代码片## 标题需要定义以下几个概念:
  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质因子相关推荐

  1. 蓝桥杯试题 算法提高 扶老奶奶过街(C语言)

    试题 算法提高 扶老奶奶过街(C语言) 资源限制 时间限制:1.0s 内存限制:256.0MB 一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: ...

  2. 【算法竞赛模板】质因子、质数、约数、余数、快速幂(数论大全)

    常用数论的算法模板 一.质因子 二.质数 三.约数 ① 试除法求一个数所有约数 ② 求约数个数 ③ 求约数和 ④ 求最大公约数 <1> gcd辗转相除 <2> 扩展欧几里得 & ...

  3. 蓝桥杯 试题 算法提高 P0402 猴子吃桃问题 Java

    试题 算法提高 P0402 资源限制 时间限制:1.0s   内存限制:256.0MB 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个. ...

  4. 试题 算法提高 成绩排名

    试题 算法提高 成绩排名  Lan   2020-03-28 22:34   363 人阅读  0 条评论 资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 小明刚经过了一次数学考 ...

  5. 试题 算法提高 能量项链

    试题 算法提高 能量项链 问题描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠 ...

  6. 蓝桥试题 算法提高 矩阵翻转

    21-22-1蓝桥训练1 D.试题 算法提高 矩阵翻转 问题描述: Ciel有一个N*N的矩阵,每个格子里都有一个整数.N是一个奇数,设X = (N+1)/2.Ciel每次都可以做这样的一次操作:他从 ...

  7. 蓝桥试题 算法提高 打包(二分法,最大值最小化)

    资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 Lazy有N个礼物需要打成M个包裹,邮寄给M个人,这些礼物虽然很便宜,但是很重.Lazy希望每个人得到的礼物的编号都是连续的.为了 ...

  8. 蓝桥杯试题 算法提高 转圈游戏 C/C++

    试题 算法提高 转圈游戏 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最 ...

  9. 试题 算法提高 瓷砖铺放 增强

    试题 算法提高 瓷砖铺放 增强 资源限制 时间限制:3.0s 内存限制:256.0MB 问题描述 给了一nxm的方格,用1x3的瓷砖铺满,请问有多少种铺法.瓷砖可以旋转. 输入格式 输入的第一行包含两 ...

  10. 蓝桥杯试题 算法提高 Monday-Saturday质因子

    资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 这个问题是个简单的与数论有关的题目,看起来似乎是"求正整数的所有质因子",但实际上并不完全是这样. 本题中需要定义 ...

最新文章

  1. Java多线程协作CountDownLatch,主线程等待子线程结束
  2. LinkedHashMap源码分析
  3. ubuntu下软件删除
  4. Beautiful Soup库
  5. 韩国女主播被中国土豪打赏13万 差点吓晕!网友:真是没见过世面
  6. .NET中Web Service的异常机制
  7. as5300g2 nas软件功能_浪潮AS5300G2 5500G2存储2U12
  8. 再谈几种语言的运行速度比较:看第三方比较结论!
  9. 安装LoadRunner时提示缺少vc2005_sp1_with_atl_fix_redist解决方案
  10. 瀑布模型,快速原型模型,增量模型,螺旋模型以及敏捷开发模型的相关概念
  11. mini6410 LED驱动程序及LED测试程序的设计
  12. Linux文件与目录的三种时间状态(mtime,atime,ctime)区别
  13. 企业u盘系统服务器,服务器u盘装系统
  14. IT人应该读的几本书
  15. 美国计算机音乐专业,美国音乐博士解析
  16. 【附资料】PMP证书有用吗?
  17. AWS Key Management Service(KMS)
  18. 就您所知,它只是一个Java库
  19. 小满 | 清和暑夏,小得盈满
  20. 用jQuery实现qq音乐播放器

热门文章

  1. [爬虫] 上海大学自动抢课工具
  2. 晕菜:新域名在60天内不能转移。
  3. 【扫描线】六道剑「一念无量劫」
  4. 开心消消乐简单消除检测
  5. 家用计算机的普及英语作文,优秀高二英语作文:计算机
  6. 分析如何辨别肖特基二极管的引脚?
  7. Web前端之网页导航----126邮箱(关于position)
  8. Windows AD域下批量分发安装软件
  9. android ubuntu网络,Android手机利用USB共享网络通过Ubuntu连接网络
  10. html在线弹幕,HTML5 弹幕