(PAT)L1-006 连续因子问题---C语言基础

一、题目要求:

一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。

输入格式:

输入在一行中给出一个正整数 N(1<N<2^31)。

输出格式:

首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1*因子2*……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。

输入样例:

630

输出样例:

3
5*6*7

 二、题目分析

(1)我们都知道素数都是不可能到达题目所需要求的,因此我们可以先判断是否为素数,不是素数我们在进行计算

(2)一个正整数的连续因子必然小于他的算数平方根,比如:25他的算术平方根是5,如果大于5就是5*6=30>25,所以我们循环结束的条件就是小于等于N的算数平方根

(3)看见题目所说的连续因子难道没什么想法吗?

3*4*5*6这是不是很像阶乘,我们可以利用阶乘来,因为题目说的是最小连续因子序列,且不包括1,所以我们从2开始计算。

三、代码实现

#include<stdio.h>
#include<math.h>
int Prime(int a); //函数声明
int main(){int n;int start=0,len=0; //start为连续因子启始位,len为连续因子长度int j,i;scanf("%d",&n);int tmp=sqrt(n); //求出n的算数平方根 if(Prime(n)==0){for(i=2;i<=tmp;i++){ //一个正整数的连续因子必然小于他的算数平方根,所以循环到tmp结束int s=1; //内循环结束后置1for(j=i;s<n;j++){  //利用阶乘,s=2*3*4*5.....s=s*j;if(n%s==0&&j-i+1>len){  //j-i+1的长度大于len且s能整除n时刷新数据start=i;len=j-i+1;}} }printf("%d\n",len);for(i=start;i<start+len;i++){//输出连续因子if(i==start){printf("%d",i);}else{printf("*%d",i);}} }else{
//		printf("你输入的整数%d是一个素数,他不存在满足题目所说的连续因子!",n); printf("1\n%d\n",n);}return 0;
} 
int Prime(int a){int i;for(i=2;i<=sqrt(a);i++) //这里的参数a就是你键盘输入的值 ,判断一个数是不是素数只需要循环到他的平方根就可以了 {if(a%i==0)return 0; //如果不是素数就返回0; }return 1; //如果是素数就返回1; 
}

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

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

相关文章

jQuery学习笔记(3.0)

滑动效果 slideDown() //下拉 $("div").slideDown(); slideUp() //上拉 $("div").slideUp(); //里面可以加参数&#xff0c;就是速度毫秒数&#xff0c;如1000&#xff0c;一秒 $(".nav>li").mouseover(function(){ //鼠标经过下拉 …

小娱xiaoyu xy-c5 路由器 刷机openwrt

1、刷固件openwrt 顾虑到可能要安装cups&#xff08;打印服务器&#xff09;只支持19版本以下的&#xff0c;所以只能安装19的版本&#xff0c;官网没有找到&#xff0c;都是21以上的&#xff0c;所以我只能到外面找玩家自己编译的了。 我这次刷的包是来源于这里&#xff1a;h…

Intrigue Core:一款功能强大的攻击面枚举引擎

关于Intrigue Core Intrigue Core是一款功能强大的开源攻击面枚举引擎&#xff0c;该工具可以帮助广大研究人员更好地管理应用程序的攻击面。 Intrigue Core集成了各种各样的安全数据源&#xff0c;可以将这些数据提取到标准化的对象模型中&#xff0c;并通过图形数据库跟踪关…

工作流引擎常见API(以camunda为例)

在Camunda中&#xff0c;API的继承关系主要体现在各个服务接口之间。以下是Camunda中一些常见服务接口的继承关系&#xff1a; ProcessEngineServices 接口&#xff1a; RepositoryService&#xff1a; 负责管理流程定义和部署。RuntimeService&#xff1a; 负责管理流程实例的…

001-NodeJs全局对象

概念 node是一个运行js的平台&#xff0c;在node中&#xff0c;用global对象取代了Window这个对象。 node中的repl环境可以执行js,通过命令node进入到repl环境。repl环境类似于Chrome的开发人员工具。 全局对象global 可以参考一下它的文档global全局对象 node版本介绍&am…

UVA699 The Falling Leaves 解题报告

题目链接 https://vjudge.net/problem/UVA-699 题目大意 给一棵二叉树&#xff0c;每个结点都有一个水平位置&#xff1a;左子结点在它左边1个单位&#xff0c;右子结点在右边1个单位。从左向右输出每个水平位置的所有结点的权值之和。如图6-7所示&#xff0c;从左到右的3个…

GPT-4对多模态大模型在多模态预训练、 理解生成上的启发

传统人工智能 模型往往依赖大量有标签数据的监督训练,而且一个模型一般只能解决一个任务,仅适用于单一场景, 这使得人工智能的研发和应用成本高,场景适应能力弱,难以规模化应用。 常见的多模态任务大致可以分为两类: 多模态理解任务,如视频 分类、视觉问答、跨模态检索、指代…

ARM Cordio WSF(三)——WSF在nRF52840平台移植

前文介绍了WSF架构及其WSF API&#xff0c;本文将介绍如何在一个硬件平台上使用WSF&#xff0c;这里基于stack项目下的nRF52840平台进行介绍。 3、PAL实现 对于要在一个处理器上运行WSF&#xff08;逻辑情况&#xff09;&#xff0c;需要处理系统的调度、系统SysTick、中断上下…

区块链的双刃剑:从“PlusToken”骗局看合规备案的重要性

轰动一时的500亿“区块链”骗局&#xff0c;至今仍在警示着每一个涉足这一领域的从业者。2019年初&#xff0c;盐城市公安局在日常网络巡查中敏锐地发现了一个名为“PlusToken”的平台疑似进行网络传销活动&#xff0c;随即迅速成立专案组进行深入调查。这一事件不仅揭示了区块…

征程 5 芯片架构

文章目录 简介图像处理升级丰富异构计算自动驾驶 I/O 接口功能安全和信息安全保障征程 5 架构性能指标简介 征程5 是地平线第三代车规级产品,也是国内首颗遵循 ISO 26262 功能安全认证流程开发,并通过ASIL-B 认证的车载智能计算方案;⁣基于最新的地平线BPU 贝叶斯架构设计,…

Excel 防止数字变为E+的技巧

方式一&#xff1a;开始选项卡 ⇒ 分数 方式二&#xff1a;设置单元格格式 ⇒ 自定义 ⇒ 0 方式三 设置单元格格式为纯文本后&#xff0c;在粘贴数据当数字过长的时候(例如身份证号)&#xff0c;超过15位之后的数字都会变成0。 此时可以在数字前添加一个符号&#xff0c;例如 …

python round取整

round()函数是Python内置函数之一&#xff0c;用于对数字进行四舍五入操作。其语法如下&#xff1a; round(number, ndigits) 其中&#xff0c;number为需要进行四舍五入的数字&#xff0c;ndigits为保留的小数位数&#xff0c;默认为0。如果ndigits为正数&#xff0c;则表示保…

【云原生篇】k8s之Deployment详解

Kubernetes 的 Deployment 是一种管理声明式更新的资源对象&#xff0c;它允许你描述应用的期望状态&#xff0c;并由 Deployment 控制器自动将当前状态改变为期望状态。Deployment 主要用于无状态应用的部署和扩展&#xff0c;但也可以用于有状态应用。 核心功能 自动化部署…

润色问题解惑

上博士为了毕业写学术论文头都大了&#xff0c;但更难受的是英语不咋地&#xff0c;投稿后经常会因为语言问题而惨遭拒稿&#xff0c;每每想起就令人心情郁郁&#xff0c;天台可期。有些审稿人也会直接告知需要专业的修改&#xff0c;那咋整呢&#xff0c;让润色呗&#xff0c;…

LeetCode 142.环形链表II(数学公式推导)

给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整…

Navicat的详细下载步骤

第一步&#xff0c;打开百度&#xff0c;找到Navicat官网 第二步&#xff0c;点击产品然后进去 第三步&#xff0c;点击直接下载然后跟着步骤来就OK啦

Centos7配置秘钥实现集群免密登录

设备&#xff1a;MacBook Pro、多台Centos7.4服务器(已开启sshd服务) 大体流程&#xff1a;本机生成秘钥&#xff0c;将秘钥上传至服务器即可实现免密登录 1、本地电脑生成秘钥&#xff1a; ssh-keygen -t rsa -C "邮箱地址 例&#xff1a;*****.163.com"一路回车…

spring boot-日志

日志不打印json问题 中间使用号连接&#xff0c;使用逗号会失效 log.info("print json: " new Gson().toJson(invitationCodeInfoQueryBean));Slf4j&#xff0c;控制台不打印日志问题 1、加入全部依赖库 <dependencies><dependency><groupId>…

已解决org.springframework.web.client.HttpClientErrorException: 400异常的正确解决方法,亲测有效!!!

已解决org.springframework.web.client.HttpClientErrorException: 400异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 文章目录 问题分析 报错原因 解决思路 解决方法 总结 在日常开发过程中&#xff0c;通过Spring框架提供的RestTemplat…

跟TED演讲学英文:The inside story of ChatGPT‘s astonishing potential by Greg Brockman

The inside story of ChatGPT’s astonishing potential Link: https://www.ted.com/talks/greg_brockman_the_inside_story_of_chatgpt_s_astonishing_potential Speaker: Greg Brockman Date:April 2023 文章目录 The inside story of ChatGPTs astonishing potentialIntro…