首页 > 其他分享 >L1-006 连续因子

L1-006 连续因子

时间:2024-06-03 18:59:39浏览次数:25  
标签:printf pos long 因子 yz 006 L1 lld

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

输入格式:

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

输出格式:

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

输入样例:

630

输出样例:

3
5*6*7

部分测试点分析:

测试点1: 子序列的积也要是N的因子
测试点3: 不要用一维指针,用二维指针,每个因子当作子序列开头的情况都要遍历,一维指针会跳过很多种情况
测试点4: N是完全平方数 

c语言代码

#include"stdio.h"
#include"math.h"
int main() {
	long long n, a, count, max = 0, x = 1, f = 0, s;
	scanf("%lld", &n);
	long long j;
	for (long long w = 2;w <= sqrt(n);w++) {
		if (n % w == 0) {
			f = 1;
			break;
		}
	}
	if (f == 1) {
		for (long long i = 2;i <= sqrt(n);i++) {
			count = 1;
			s = i;
			if (n % i == 0) {
				a = i;
				for (j = i + 1;j <= sqrt(n);j++) {
					s = s * j;
					if (n % j == 0 && j - a == 1 && n % s == 0) {
						count++;
						a = j;
					}
				}
				if (n % (a + 1) == 0 && (a + 1) > sqrt(n) && count == 1)count++;
				if (count > max) {
					max = count;
					x = i;
				}
			}
		}
		printf("%lld\n", max);
		printf("%lld", x);
		long long sum = x;
		for (long long j = x + 1;j < x + max;j++) {
			printf("*%lld", j);
			sum = sum * j;
			if (sum >= n) break;
		}
		printf("\n");
	}
	else {
		printf("1\n");
		printf("%lld\n", n);
	}
}

python代码

n = int(input())
yz = []
for i in range(2, int(n ** 0.5) + 1):
    if n % i == 0:
        yz.append(i)
if not yz:
    print(1)
    print(n)
else:
    res = [yz[0]]
    for i in range(len(yz)-1):
        check = yz[i]
        pre = [yz[i]]
        pos = i + 1
        while pos < len(yz) and yz[pos] == yz[pos - 1] + 1 and n % (check * yz[pos]) == 0:
            pre.append(yz[pos])
            check *= yz[pos]
            pos += 1
        if len(pre) > len(res):
            res = pre.copy()
    print(len(res))
    print(*res, sep='*')

标签:printf,pos,long,因子,yz,006,L1,lld
From: https://blog.csdn.net/zjl_hui/article/details/139421020

相关文章

  • 【图像去噪】基于原始对偶算法优化的TV-L1模型进行图像去噪研究(Matlab代码实现)
    ......
  • 1-006 连续因子(分数 20,c++)
    一个正整数 N 的因子中可能存在若干连续的数字。例如630可以分解为3×5×6×7,其中5、6、7就是3个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231)。输出格式:首先在第1......
  • DecoupleR/CollecTRI network-单细胞转录因子活性分析
    DecoupleR包是一个可以从组学数据中分析内部生物学活性的计算方法集合。该R包内部收纳了11种分析方法,包括GSVA,GSEA,univariatelinearmodel(ULM),VIPER等。PMID:36699385根据包含的计算方法,我们也能大概的知道decoupleR包能够做哪些分析了,包括基本分析(AUCell,FastGSEA,......
  • CentOS7安装PostgreSQL15以及PostGIS3.3
     安装Postgresqlyuminstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpmyuminstall-yhttps://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libzstd-1.5.5-1.el7.x86_64.rpmyum-yinstallpos......
  • 防风固沙(七)土壤湿度因子的计算
    大家好,今天我们来学习防风固沙土壤湿度因子SW的计算,下面让我们开始吧!!!土壤湿度SW的计算公式 式中:ETP为月蒸散发;R为月降雨量;I为月灌溉量,参考文献,这里取0;N为一月中观测天数。 数据获取请查看前几期文章。(包括潜在蒸散发数据、月降雨量数据、以及降雨概率R/N的计算)SW计......
  • 【QGIS入门实战精品教程】10.7: 基于DEM的地形因子分析(坡度、坡向、粗糙度、山体阴影、
    文章目录一、加载dem二、山体阴影三、坡度四、坡向五、地形耐用指数六、地形位置指数七、地表粗糙度一、加载dem二、山体阴影方法一:符号系统利用符号系统中的山体阴影,渲染出阴影效果。方法二:山体阴影工具该算法计算输入中的数字化地形模型的山体阴......
  • R语言上市公司经营绩效实证研究 ——因子分析、聚类分析、正态性检验、信度检验|附代
    全文链接:http://tecdat.cn/?p=32747原文出处:拓端数据部落公众号随着我国经济的快速发展,上市公司的经营绩效成为了一个备受关注的话题。本文旨在探讨上市公司经营绩效的相关因素,并运用数据处理、图示、检验和分析等方法进行深入研究,帮助客户对我国45家上市公司的16项财务指标进行......
  • CSP历年复赛题-P1061 [NOIP2006 普及组] Jam 的计数法
    原题链接:https://www.luogu.com.cn/problem/P1061题意解读:从编号s~t的字母从挑w个,组成一种特殊的数字,数字里字母都是升序的,给定初始数字,要计算后5个。解题思路:1、模拟法模拟样例:2105有效字母范围:b,c,d,e,f,g,h,i,j 初始值:bdfij要计算bdfij的下一个,采取如下步骤......
  • 易基因:WGBS+ChIP-seq等表观组分析揭示FOXM1 是抗肿瘤免疫应答的关键调控因子
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。食管癌是一种常见的恶性肿瘤,包括两种主要的组织学亚型:食管鳞状细胞癌(squamouscellcarcinoma,ESCC)和食管腺癌(adenocarcinoma,EAC)。近两年来对抗肿瘤免疫应答机制的理解得到了显著提高,免疫检查点阻断(ICB)疗法等免疫疗......
  • 量化交易:多因子选股结合布林带择时
    哈喽,大家好,我是木头左!多因子选股策略是一种基于多个财务指标来筛选股票的方法。这种策略认为,通过综合考虑多个因素,可以更全面地评估一家公司的价值和盈利潜力。感兴趣的朋友,可以在下方公号内回复:001,即可获取源码,共同交流!策略的基本原理在本策略中,我们选择了市值、利润、现金......