(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; //内循环结束后置1
			for(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; 
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

echarts 水库水位图

<div id"sssqtb" class"sssqtb"></div> // 水位示意图initChart() {var maxHeight "250"; //最大高度/堤坝高度let markline ["170", "120", "70", "0"]; //设计水位&#xff0c;汛限水…

C语言洛谷题目分享(8)入门和Lake Counting S

1.前言 大家好啊&#xff0c;今天继续为大家分享俩道洛谷dfs的题目&#xff0c;希望能对大家有所帮助。 2.俩道题目 1.入门&#xff08;P1683&#xff09; 1.题目描述 不是任何人都可以进入桃花岛的&#xff0c;黄药师最讨厌像郭靖一样呆头呆脑的人。所以&#xff0c;他在…

U盘加密系统(U盘加密全攻略)

U盘加密系统是一种专门设计用于保护U盘数据安全的软件系统。 企业要对U盘进行加密的原因主要有以下几点&#xff1a; 首先&#xff0c;U盘作为一种移动存储设备&#xff0c;在企业内部和外部的数据传输中扮演着重要角色。 然而&#xff0c;由于其便携性和易失性&#xff0c;…

vue实现海康h5player问题汇总

1. 引入问题 最开始写的时候&#xff0c;把h5player封装成了一个组件&#xff0c;把资源文件随便放在了一个目录下&#xff0c; 直接在子组件中引入&#xff0c;报错window.JSPlugin is not a constructor 或者JSPlugin is not defined 初步分析应该是引入资源文件失败&#x…

基于springboot+vue实现的高校宿舍管理系统(界面优美,十分推荐)

一、项目简介 本项目是一套基于springbootvue实现的高校宿舍管理系统设计与实现 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观…

解密辛普森悖论:如何在数据分析中保持清醒头脑

解密辛普森悖论&#xff1a;如何在数据分析中保持清醒头脑 之前也参加fine Bi的 培训&#xff0c;学到了辛普森悖论&#xff0c;今天为大家介绍一下 文章目录 解密辛普森悖论&#xff1a;如何在数据分析中保持清醒头脑前言我们来举一个例子数据分析解释管理应用的启示 前言 什…

使用hexo+gitee从零搭建个人博客

一、环境准备 1.Node.js&#xff1a;下载 | Node.js 中文网 (nodejs.cn) &#xff0c;Hexo 是基于Node.js 的博客框架 教程&#xff1a;https://blog.csdn.net/weixin_52799373/article/details/123840137 node -v npm -v 安装 Node.js 淘宝镜像加速器 &#xff08;cnpm&am…

python中的异常

1、NoSuchElementException 找不到元素 2、ElementNotInteractableException 元素无法交互 可能原因1&#xff1a;元素定位到以后&#xff0c;无法点击---元素未渲染完 解決&#xff1a;使用expected_conditions模块下的element_to_be_clickable来判断元素是否可被点击&#…

二叉树应用——最优二叉树(Huffman树)、贪心算法—— Huffman编码

1、外部带权外部路径长度、Huffman树 从图中可以看出&#xff0c;深度越浅的叶子结点权重越大&#xff0c;深度越深的叶子结点权重越小的话&#xff0c;得出的带权外部路径长度越小。 Huffman树就是使得外部带权路径最小的二叉树 2、如何构造Huffman树 &#xff08;1&#xf…

“筑爱助残 快乐出游”带残疾人之家的残疾人出游活动

为拓宽残疾人的视野、增强残疾人的自信和勇气&#xff0c;感受外面世界的美好和多彩&#xff0c;帮助他们融入社会拥抱大自然&#xff0c;重拾美好生活的信心&#xff0c;营造残健互助的社会氛围。4月10日&#xff0c;嘉善蒲公英志愿者团队组织爱心司机开展以“筑爱助残 快乐出…

openGauss学习笔记-260 openGauss性能调优-使用Plan Hint进行调优-同层参数化路径的Hint

文章目录 openGauss学习笔记-260 openGauss性能调优-使用Plan Hint进行调优-同层参数化路径的Hint260.1 功能描述260.2 语法格式260.3 示例 openGauss学习笔记-260 openGauss性能调优-使用Plan Hint进行调优-同层参数化路径的Hint 260.1 功能描述 通过predpush_same_level Hi…

linux下如何查看防火墙状态

systemctl status firewalld (看防火墙进程) cat /etc/selinux/config (看是否启用linux安全模式)

【Python】控制台进度条

在Python开发中&#xff0c;有时需要向用户展示一个任务的进度&#xff0c;以提供更好的交互体验。下面我将展示如何使用Python来创建一个简单的控制台进度条。 效果&#xff1a; 代码&#xff1a; import time import sys def print_progress_bar(completed, total, length…

蓝桥杯省赛冲刺(3)广度优先搜索

广度优先搜索&#xff08;Breadth-First Search, BFS&#xff09;是一种在图或树等非线性数据结构中遍历节点的算法&#xff0c;它从起始节点开始&#xff0c;按层级逐步向外扩展&#xff0c;即先访问离起始节点最近的节点&#xff0c;再访问这些节点的邻居&#xff0c;然后是邻…

Kyligence 发布企业级 AI 解决方案,Data + AI 落地迈向新阶段

4月11日&#xff0c;Kyligence 2024 数智论坛暨春季发布会成功召开。Kyligence 正式发布全新的企业级 AI 解决方案&#xff0c;基于服务金融、零售、制造、医药等行业领先客户的落地实践&#xff0c;Kyligence 为企业提供准确、可靠、智能的 AI 指标平台一站式解决方案&#x…

头歌-机器学习 第10次实验 逻辑回归

第1关&#xff1a;逻辑回归核心思想 任务描述 本关任务&#xff1a;根据本节课所学知识完成本关所设置的编程题。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 什么是逻辑回归&#xff1b; sigmoid函数。 什么是逻辑回归 当一看到“回归”这两个字&a…

Harmony鸿蒙南向驱动开发-CLOCK接口使用

CLOCK&#xff0c;时钟是系统各个部件运行的基础&#xff0c;以CPU时钟举例&#xff0c;CPU 时钟是指 CPU 内部的时钟发生器&#xff0c;它以频率的形式工作&#xff0c;用来同步和控制 CPU 内部的各个操作。 CLOCK接口定义了完成CLOCK操作的通用方法集合&#xff0c;包括&…

五一出游 请带上我。必备全家桶。出游变成搬家。千里快递员,这样的人就不要带了。学习过后,你会使用这些句子了吗?

五一出游&#xff0c;即劳动节假期出游&#xff0c;需要准备的物品会根据旅行的目的地、天气状况、交通方式和个人习惯有所不同。以下是一个基本的全家桶必备物品清单&#xff1a; 一、 证件类&#xff1a; 身份证驾驶证&#xff08;如果自驾&#xff09;护照/港澳通行证/台…

递归、搜索与回溯算法:递归

递归 在解决⼀个规模为n的问题时&#xff0c;如果满⾜以下条件&#xff0c;我们可以使⽤递归来解决&#xff1a; a. 问题可以被划分为规模更⼩的⼦问题&#xff0c;并且这些⼦问题具有与原问题相同的解决⽅法。 b. 当我们知道规模更⼩的⼦问题&#xff08;规模为 n - 1&…

MySQL事务、主从、分库分表常见面试题

文章目录 1.事务的特性2.并发事务问题&#xff0c;如何解决&#xff0c;默认隔离级别3.undo log和redo log的区别4.事务中的隔离性是如何保证的&#xff08;解释一下MVCC&#xff09;5.主从同步原理6.分库分表 1.事务的特性 2.并发事务问题&#xff0c;如何解决&#xff0c;默认…