• 连续因子


    题目

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

    输入格式:

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

    输出格式:

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

    输入样例:

    630
    

    输出样例:

    3
    5*6*7
    

    代码:

    
    #include<stdio.h>
    
    #include<math.h>
    
    int prime(int n)
    
    {
    
        int i;
    
        for ( i = 2; i < sqrt( n ); i++ )
    
        {
    
            if ( n % i == 0 )
    
                return 0;
    
        }
    
        return 1;
    
    
    }
    
    int main()
    
    {
      
      int n,sum,max_size=0,max_long=0,j,i;
      
        scanf("%d",&n);
      
        if(prime(n)){
        
        printf("1
    ");
        
        printf("%d
    ",n);
        
        return 0;
        
      }
      
        for ( i = 2; i <=sqrt( n ); i++ )
    
        {
    
            //判断能否i整除n,减少循环
    
            if ( n % i == 0 )
    
            {
    
                sum = i;
        
    		    for ( j = i + 1; j <= sqrt( n ); j++ )
    
                {
    
                    sum *= j;
    
                    //若累乘sum不能整除n,则结束循环
    
                    if ( n % sum != 0 )
    
                        break;
    
                }
          
                if ( max_size < j - i )
    
                {
    
                    max_size = j - i;
    
                    max_long = i;
    
                }
          
             }
    
           }
      
        printf("%d
    ",max_size);
      
        for(i=max_long;i<max_long+max_size;i++){
        
            if(i!=max_long)
               
                printf("*");
          
                printf("%d",i);
        
        }
        
        printf("
    ");
      
        return 0;
      
    }
    
  • 相关阅读:
    搜索能力
    sublimetext中文论坛
    Sublime Text添加插入带当前时间说明
    X86平台简称
    centos 下如何加入sudo 用户
    Git Shell 安装版本
    Git 使用教程
    CentOS 下安装配置mongodb
    Mysql 解决left join 数据重复的问题
    CentOS 下安装翻译软件星际译 StarDict
  • 原文地址:https://www.cnblogs.com/lmcmha/p/10126816.html
Copyright © 2020-2023  润新知