蓝桥杯试题 算法提高 Monday-Saturday质因子
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
这个问题是个简单的与数论有关的题目,看起来似乎是“求正整数的所有质因子”,但实际上并不完全是这样。
本题中需要定义以下几个概念:
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行。
/注意格式,我习惯按照在pta上做题的格式输出,结果一直不对,还是把样例粘贴起来看看方便点/
在这里插入代码片
#include<iostream>
#include<vector>
using namespace std;bool sign[300010] = {false};
vector<int>v;
bool check(int x)
{if(!sign[x])return false;for(int i=2;i<=x/2;i++){if(x%i==0&&sign[i])return false;}return true;
}
int main()
{sign[1] = true; sign[6] = true;for(int i=1;i<=300000;i++)if(sign[i])sign[i+7] = true;int n;while(~scanf("%d",&n) && n!=1){if(check(n))cout<<n<<": "<<n<<endl;else{v.clear();for(int i=2;i<=n/2;i++)if(n%i==0)v.push_back(i);cout<<n<<":";for(int i=0;i<v.size();i++){if(check(v[i]))cout<<" "<<v[i];}cout<<endl;}}return 0;
}
蓝桥杯试题 算法提高 Monday-Saturday质因子相关推荐
- 蓝桥杯试题 算法提高 扶老奶奶过街(C语言)
试题 算法提高 扶老奶奶过街(C语言) 资源限制 时间限制:1.0s 内存限制:256.0MB 一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: ...
- 蓝桥杯 试题 算法提高 P0402 猴子吃桃问题 Java
试题 算法提高 P0402 资源限制 时间限制:1.0s 内存限制:256.0MB 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个. ...
- 蓝桥杯试题 算法提高 转圈游戏 C/C++
试题 算法提高 转圈游戏 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最 ...
- 蓝桥杯 试题 算法提高 阴谋(C++)
阴谋 题目浏览 算法代码 核心思路 题目浏览 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 第四次圣杯战争开始了. 为了收集敌人的情报,言峰绮礼命令他的使魔Assassin将自己的 ...
- 蓝桥杯试题 算法提高 数组求和
题干 我人比较蠢想不出好的解决方案,只能采用暴力破解才能维持的了生活这样.. 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输入n个数,围成一圈,求连续m(m<n)个数的和最 ...
- 蓝桥杯试题 算法提高 Cutting Chains
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 什么!Anna Locke最近买了几个链环,并且其中的一些链环连接到了一起.它们是由zorkium做成的,这是一种在上世纪经常用来加工 ...
- 最小字符串(蓝桥杯试题 算法提高)
题目链接:最小字符串 http://lx.lanqiao.cn/problem.page?gpid=T3001#submitpanel 问题描述 给定一些字符串(只包含小写字母),要求将他们串起来构成 ...
- 蓝桥杯试题 算法提高 书院主持人
书院主持人 问题描述 北大附中书院有m个同学,他们每次都很民主地决策很多事情.按罗伯特议事规则,需要一个主持人.同学们民主意识强,积极性高,都想做主持人,当然主持人只有一人.为了选出主持人,他们想到了 ...
- 蓝桥杯试题 算法提高 编程求解根号3简单算法
public class Main {public static void main(String[] args) {double a=Math.sqrt(3);System.out.printf(& ...
最新文章
- OpenStack使用neutron agent-list缺少组件
- mysql 事物 锁行 测试_MySQL Transaction--RC事务隔离级别下加锁测试
- Vue-Router API参考
- flask处理cookie
- Android拍照流程
- webshpere缓存--JSP
- java 验证码校验_JavaWeb验证码校验功能代码实例
- ado execute open区别_二极管IN4148和IN4007的应用区别
- java代码鸟飞_180行原生js代码实现简易版飞行的小鸟游戏
- 监听器实栗 在线人数统计
- 线程池工作原理流程图 源码概览线程池工作原理流程图 源码概览
- python参数解析模块sys、getopt、argparse学习使用与对比分析
- 计算机专业所需的职业道德,浅议计算机职业道德
- oracle用exp定时备份数据库,oracle exp备份数据库
- 使用 K3S 创建本地开发集群
- 解决invalid operands of types ‘float‘ and ‘int‘ to binary ‘operator %
- 支配树dominator tree学习笔记
- 计算机制作幻灯片视频教程,如何在电脑上制作幻灯片?
- 简介响应状态码1xx、2xx、5xx
- Java8种Stream流相关操作——集合的筛选、归约、分组、聚合