文章

1

粉丝

0

获赞

17

访问

273

头像
最长连续因子 题解:
P1020 贵州大学机试题
发布于2026年3月5日 11:34
阅读数 273

一种基于数组存储的思想

#include <stdio.h>

int main() {
    int num = 0;
    int i = 0;
    int dig[10000] = {0};
    int j = 0;
    
    scanf("%d", &num);
    
    // 1. 找出所有因子,但不包括1
    for (i = 2; i <= num; i++) {  // 从2开始,跳过1
        if (num % i == 0) {
            dig[j] = i;
            j++;
        }
    }
    

    // 2. 在因子数组中找最长连续序列
    int maxLen = 1;      // 最长连续长度(至少为1)
    int maxStart = 0;    // 最长连续序列的起始下标
    int curLen = 1;      // 当前连续长度
    
    for (i = 1; i < j; i++) {
        if (dig[i] == dig[i-1] + 1) {
            // 当前因子与前一个因子连续
&nbs...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发