文章

34

粉丝

51

获赞

2

访问

6.3k

头像
最长连续因子 题解:易理解
P1020 贵州大学机试题
发布于2024年3月6日 16:53
阅读数 337

#include<cstdio>
#include<iostream>
#include<string>
using namespace std;

int main(){
    int n;//待输入的整数
    cin >> n;
    int end=0;//连续因子序列的最后一个元素
    int len=0;//连续因子的个数(长度)
    int mlen=0;//连续因子个数长度的最大值
    
    for(int i=2;i<=n/2;i++){
        if(n%i==0){
            len++;//因子数加1
        }else{//当前i不为因子
            if(mlen < len){//最大长度小于当前长度
                mlen = len;
                len=0;
                end = i-1;
            }else{
                len = 0;
            }
        }
    }
    int begin = end - mlen + 1;//连续因子序列的起始值
    for(int i = begin,j = 0; j < mlen;j++){
        cout << i++ << " ";
    }
}
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发