文章

4

粉丝

0

获赞

6

访问

401

头像
最长连续因子 题解:纯C
P1020 贵州大学机试题
发布于2025年1月24日 16:46
阅读数 94

#include<stdio.h>

//读题:最长连续因子可以理解为一个数的所有因子按从小到大排序,其中最长的连续序列

//思路:从2到n,依次判断是否为因子,记录当前因子序列的起点和长度,当出现非因子时,判断当前序列是否最长,保存到最长序列起点和长度变量中,最后输出最长序列

int main(){
    int n;
    scanf("%u",&n);
    int start=2,len=0; //当前序列起点、长度
    int ms=2,ml=0; //最大序列起点、长度
    for(int i=2;i<=n;i++){ //从2到n,不用额外排序
        if(n%i==0){ //如果是因子
            if(len==0){ //且是起点
                start=i;} //记录当前起点
            len++; //不管是不是起点,当前长度+1
        }else{ //如果不是因子
            if(len>ml){ //判断当前序列是否最长
                ms=start; //更新最长序列起点、长度
                ml=len;
    ...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发