文章

3

粉丝

0

获赞

0

访问

1.1k

头像
最长连续因子 题解:
P1020 贵州大学机试题
发布于2024年3月24日 10:00
阅读数 352

两个数组搞定

1、存储因子a数组

2、存储因子后续最大连续个数b数组

#include<bits/stdc++.h>
using namespace std;

int main(){
    int n;
    cin>>n;
    int a[10005],j=0;  //a[]存储因子
    for(int i=2;i<=n;i++){
        if(n%i==0){
            a[j++]=i;
        }
    }
    int i,b[10005];          //b[i]存储自a[i]起最长连续值
    for(i=0;i<j-1;i++){
        int t;
        for(t=0;i+t<j-1;t++){
            if(a[i]+t!=a[i+t]) break;
        }
        b[i]=t--;
    }
    int max=b[0],maxi=0;        //筛选最长连续值及其对应起始因子下标
    for(int k=0;k<j-1;k++){
        if(b[k]>max){
            max=b[k];
  &n...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发