zoukankan      html  css  js  c++  java
  • codevs 2804 最大最小数质因数 x

                         题目描述 Description

        先输入n,n<=20;再依次输入n个不同的数,每个数<=1000000;找出最大数和最小数,并输出最大最小数的质因数,没有质因数则输出0。

    输入描述 Input Description

    数n,空行,输入n个数,每个数中间空行;

    输出描述 Output Description

    最大数的质因数,每个数中间空格;
    最小数的质因数,每个数中间空格.

    样例输入 Sample Input

    2
    15 6

    样例输出 Sample Output

    3 5
    2 3

    数据范围及提示 Data Size & Hint

    分类标签 Tags

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include<cmath>
    
    using namespace std;
    
    int n;//n<=20
    long long a[21];
    
    bool pd(long long s)//1为真 
    {
        long long j;
        if(s==2) return 1;
        j=2;
        while(s%j!=0&&j<=sqrt(s)) j++;
        if(s%j==0) return 0;
        else return 1;
    }
    
    void print(long long x)
    {
        long long t=x;
        if(x==1||pd(x)||x==0)//如果该数为素数或是为1,0,则没有质因数 
        {
            printf("0
    ");
            return;
        }
        for(int i=2;i<=x/2;i++)//分解质因数重要的一步 
            if(x%i==0&&pd(i))
            {
                printf("%d ",i);
                t=t/i;
                if(t==1) break;//不能够继续分解了,跳出 
            }
        printf("
    ");
    }
    
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        sort(a+1,a+1+n);//最后一个为最大数,第一个为最小数 
        print(a[n]);
        print(a[1]);
        return 0;
    }

    如果运气好也是错,那我倒愿意错上加错!

    ❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀

  • 相关阅读:
    表连接问题
    public interface Serializable?标记/标签接口
    4.21
    第十周周记
    测试
    第九周周记
    第七周周记
    fighting.
    fighting
    作业一
  • 原文地址:https://www.cnblogs.com/zxqxwnngztxx/p/6674978.html
Copyright © 2011-2022 走看看