L1 - 006 连续因子

思路:1.要求最长的连续因子序列,我们需要知道序列的长度序列的起点

2.对于起点 i 来说,他不能超过 n 的平方根,在循环时从 2 到 sqrt(n) 。用到变量:记录个数num,起点start,最大个数maxnum,最大起点maxstart。初始时maxnum = 0,maxstart = -1。

3.双重for循环,i起点,j递增。ss = ss / j;逐步相除到0。二层for循环条件是( ss % j == 0 && ss != 0),他要求能整除j,且ss还不为0,ss存储的是每次除以因子后剩下的商。

4.在 i 循环里,如果有长的 num ,则更新maxnum。

5.最后输出的时候,如果maxnum == 0,则说明这个数的因子只有 1 和它本身。直接输出长度 1 ,和本身 n

第一次代码:

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>using namespace std;int n;
int main()
{scanf("%d",&n);int ss,maxnum = 0,maxstart = -1;for(int i = 2; i <= sqrt(n); i ++){int num = 0;ss = n;int start = i;//将i标为起点for(int j = i; ss % j == 0 && ss != 0; j ++){//j是以i为起点向后递增的模拟ss /= j;//ss记录除以当前数字j后剩下的数num ++;//因子个数加1}if(num > maxnum){//更新每次更换起点i后的最长因子数和起点maxnum = num;maxstart = start;}}if(maxnum == 0)//没有最长因子数printf("1\n%d,n");else{printf("%d\n",maxnum);for(int i = maxstart; i < maxstart + maxnum; i ++){if(i != maxstart + maxnum - 1)printf("%d*",i);elseprintf("%d",i);}}return 0;}

结果1:

        得了18分。

第二次:

        微调,突然发现在输出答案的时候把引号放在了最外面。

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>using namespace std;int n;
int main()
{scanf("%d",&n);int ss,maxnum = -1,maxstart = -1;for(int i = 2; i <= sqrt(n); i ++){int num = 0;ss = n;int start = i;//将i标为起点for(int j = i; ss % j == 0 && ss != 0; j ++){//j是以i为起点向后递增的模拟ss /= j;//ss记录除以当前数字j后剩下的数num ++;//因子个数加1}if(num > maxnum){//更新每次更换起点i后的最长因子数和起点maxnum = num;maxstart = start;}}if(maxnum == 0)//没有最长因子数printf("1\n%d",n);else{printf("%d\n",maxnum);for(int i = maxstart; i < maxstart + maxnum; i ++){if(i != maxstart + maxnum - 1)printf("%d*",i);elseprintf("%d",i);}}return 0;
}

结果2:

第三次代码:

        这个maxnum的初始值要和最后特判有没有因子序列时数值一致,不然会出错。今晚怎么老是在这种地方犯错??。。

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>using namespace std;int n;
int main()
{scanf("%d",&n);int ss,maxnum = 0,maxstart = -1;for(int i = 2; i <= sqrt(n); i ++){int num = 0;ss = n;int start = i;//将i标为起点for(int j = i; ss % j == 0 && ss != 0; j ++){//j是以i为起点向后递增的模拟ss /= j;//ss记录除以当前数字j后剩下的数num ++;//因子个数加1}if(num > maxnum){//更新每次更换起点i后的最长因子数和起点maxnum = num;maxstart = start;}}if(maxnum == 0)//没有最长因子数printf("1\n%d",n);else{printf("%d\n",maxnum);for(int i = maxstart; i < maxstart + maxnum; i ++){if(i != maxstart + maxnum - 1)printf("%d*",i);elseprintf("%d",i);}}return 0;
}

结果3:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/745303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt篇——QChartView获取鼠标停留位置的数值

需求&#xff1a;鼠标停留在QChartView上时&#xff0c;想要计算停留位置的数值。 一开始的方法是想要通过鼠标移动事件计算鼠标在QChartView上的坐标&#xff0c;在换算成数值&#xff0c;后来发现QChartView中除了图表数据&#xff0c;还有坐标轴与坐标轴数值标签占了高度&a…

How to install teams in ubuntu

Download deb file download link: https://mirrors.sdu.edu.cn/spark-store-repository/store/office/teams/ install deb sudo apt install ./teams_1.5.00.23861_amd64.deb open and login teams.

基于单片机的车载酒精含量自检系统设计与实现

摘要:调查显示,大约50%的交通事故与酒后驾车有关,酒后驾车已成为车祸致死的首要原因。为从根本上杜绝酒后驾车,设计了一款基于STC89C52 单片机的车载酒精含量自检系统,该系统能很好地解决酒驾问题,控制简单、使用方便,具有很好的应用价值。 关键词:STC89C52 单片机;车…

ubuntu编译rk3588异常

问题现象 在ubuntu上编译 rk3588 的kernel时&#xff0c;报如下错误&#xff1a; LZ4C arch/arm64/boot/Image.lz4 Incorrect parameters Usage : lz4 [arg] [input] [output] input : a filename with no FILE, or when FILE is - or stdin, read sta…

JavaEE企业开发新技术2

目录 2.7 Field类的基本概念 文字性概念描述&#xff1a; Field类 2.8 Field的基本操作-1 2.9 Field的基本操作-2 分析&#xff1a; 2.10 Field 的综合练习 总结&#xff1a; 和equals的区别&#xff1a; 使用 比较 使用equals比较 2.7 Field类的基本概念 文字性…

.NET高级面试指南专题十七【 策略模式模式介绍,允许在运行时选择算法的行为】

介绍&#xff1a; 策略模式是一种行为设计模式&#xff0c;它允许在运行时选择算法的行为。它定义了一系列算法&#xff0c;将每个算法封装到一个对象中&#xff0c;并使它们可以互相替换。这使得算法可独立于使用它的客户端变化。 原理&#xff1a; 策略接口&#xff08;Strat…

CVPR2024 | 大核卷积新高度101x101,美团提出PeLK

https://arxiv.org/pdf/2403.07589.pdf 本文概述 最近&#xff0c;一些大核卷积网络以吸引人的性能和效率进行了反击。然而&#xff0c;考虑到卷积的平方复杂度&#xff0c;扩大内核会带来大量的参数&#xff0c;而大量的参数会引发严重的优化问题。由于这些问题&#xff0c;当…

安卓之四大组件

组件描述Activity(活动)在应用中的一个Activity可以用来表示一个界面&#xff0c;意思可以理解为“活动”&#xff0c;即一个活动开始&#xff0c;代表 Activity组件启动&#xff0c;活动结束&#xff0c;代表一个Activity的生命周期结束。一个Android应用必须通过Activity来运…

蓝桥杯刷题|01入门真题

[蓝桥杯 2020 省 AB1] 解码 题目描述 小明有一串很长的英文字母&#xff0c;可能包含大写和小写。 在这串字母中&#xff0c;有很多连续的是重复的。小明想了一个办法将这串字母表达得更短&#xff1a;将连续的几个相同字母写成字母 出现次数的形式。 例如&#xff0c;连续…

Xcode 15.3 Archive失败

Xcode 15.3 Archive失败 背景 升级 Xcode 到 15.3&#xff0c;真机运行正常。打包的时候发现 Archive 失败。 提示&#xff1a; Call parameter type does not match function signature! 仔细看报错里是和HandyJSON相关的提示。 解决 起初以为和 Pod 库有关系&#xff0c;…

docker容器启动rabbitmq

docker容器启动rabbitmq 一、RabbitMQ部署1.1.在线拉取mq镜像1.2.运行mq容器1.3.访问mq 二、RabbitMQ的集群2.1.集群分类2.1.设置 /etc/hosts文件 endl 一、RabbitMQ部署 1.1.在线拉取mq镜像 # 在线拉取 docker pull rabbitmq:3-management1.2.运行mq容器 docker run \ -e R…

什么是单向数据流

单向数据流是一种数据流动的模式&#xff0c;通常用于前端框架&#xff08;如 React、Vue 等&#xff09;中。在单向数据流中&#xff0c;数据只能从一个方向流向另一个方向&#xff0c;不会出现数据的双向流动。这种模式有助于简化数据的管理和状态的维护&#xff0c;提高代码…

Kafka-生产者报错javax.management.InstanceAlreadyExistsException

生产者发送消息到 kafka 中,然后控制台报错 然后根据日志查看 kafka 的源码发现了问题原因 说的是MBean已经注册了,然后报异常了,这样就会导致生产者的kafka注册失败, 原因是项目上生产者没有配置clientId,默认都是空导致的, 多个生产者(项目)注册到kafka集群中的 id 都相同。 …

微服务分布式基于Springcloud的拍卖管理系统597wx

越来越多的用户利用互联网获得信息&#xff0c;但各种信息鱼龙混杂&#xff0c;信息真假难以辨别。为了方便用户更好的获得信息&#xff0c;因此&#xff0c;设计一种安全高效的拍卖管理系统极为重要。 为设计一个安全便捷&#xff0c;并且使用户更好获取拍卖管理系统&#xff…

在Linux/Ubuntu/Debian中使用lsof和fuser查看/解除文件占用

“lsof”&#xff08;列出打开的文件&#xff09;和“fuser”&#xff08;使用文件识别进程&#xff09;类似&#xff0c;但功能略有不同&#xff1a; 1.lsof&#xff1a; - lsof 列出有关进程打开的文件的信息。 它提供有关打开哪些文件、哪些进程正在访问这些文件以及其他相…

探寻殷墟文化,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建殷墟考古场景下的甲骨文字符检测识别分析系统

甲骨文是一种非常历史悠久的古老文字&#xff0c;在前面我们基本上很少有涉及这块的内容&#xff0c;最近正好在做文字相关的项目开发研究&#xff0c;就想着基于甲骨文的场景来开发对应的检测识别系统&#xff0c;在前文中我们基于系列YOLO算法模型开发构建了在仿真数据实验场…

C#,图论与图算法,图着色问题(Graph Coloring)的威尔士-鲍威尔(Welch Powell Algorithm)算法与源代码

Welsh, D.J.A. and Powell, M.B. (1967) An Upper Bound for the Chromatic Number of a Graph and Its Application to Timetabling Problems. 《The Computer Journal》, 10, 85-86. 《The Computer Journal》 1 图着色算法概述 1967年&#xff0c;Welsh和Powell算法引入了…

unity学习笔记 Restsharp 使用心得

Restsharp Restsharp安装使用注意事项api方式的流式调用--子线程中执行代码无响应的问题问题描述问题解决其他问题 Restsharp 安装 可以在github上下载dll文件然后导入到unity中 https://github.com/adrenak/RestSharp.Unity 也可以百度直接搜Restsharp然后下载相关的文件导入…

Rudolf and the Ball Game

传送门 题意 思路 暴力枚举每一个妆台的转换条件 code #include<iostream> #include<cstdio> #include<stack> #include<vector> #include<algorithm> #include<cmath> #include<queue> #include<cstring> #include<ma…

GO sync.pool学习笔记

sync.Pool 是 Go 语言标准库中提供的一个对象池&#xff0c;用于管理临时对象的分配和重用&#xff0c;以减少内存分配的开销。下面是 sync.Pool 的基本使用方法&#xff1a; 初始化 Pool&#xff1a;首先&#xff0c;你需要创建一个 sync.Pool 实例&#xff0c;一般使用 sync…