• 2804 最大最小数质因数


    题目描述 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

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 using namespace std;
     5 int a[10001];
     6 int maxn=-1;
     7 int minn=1000000000;
     8 int vis[10000001];
     9 int main()
    10 {
    11     int n;
    12     scanf("%d",&n);
    13     for(int i=2;i<=sqrt(1000000);i++)
    14     {
    15         if(vis[i]==0)
    16         for(int j=i*i;j<=1000001;j=j+i)
    17         {
    18             vis[j]=1;
    19         }
    20     }
    21     for(int i=1;i<=n;i++)
    22     {
    23         scanf("%d",&a[i]);
    24         if(a[i]>=maxn)
    25         maxn=a[i];
    26         if(a[i]<=minn)
    27         minn=a[i];
    28     }
    29     int i=2;
    30     int flag=0;
    31     int x=maxn;
    32     while(maxn/i>0)
    33     {
    34         if(maxn%i==0&&vis[i]==0&&x!=i)
    35         {
    36             printf("%d ",i);
    37             flag=1;
    38             maxn=maxn/i;
    39         }
    40         i++;
    41     }
    42     if(flag==0)
    43     {
    44         printf("0
    ");
    45     }
    46     else
    47     {
    48         //if(vis[maxn]==0)
    49         //printf("%d ",maxn);
    50         printf("
    ");
    51     }
    52     flag=0;
    53     i=2;
    54     int y=minn;
    55     while(minn/i>0)
    56     {
    57         if(minn%i==0&&vis[i]==0&&y!=i)
    58         {
    59             printf("%d ",i);
    60             flag=1;
    61             minn=minn/i;
    62         }
    63         i++;
    64     }
    65     if(flag==0)
    66     {
    67         printf("0
    ");
    68     }
    69     else
    70     {
    71         //if(vis[maxn]==0)
    72         //printf("%d ",minn);
    73         printf("
    ");
    74     }
    75     return 0;
    76 }
  • 相关阅读:
    ARCGIS JAVASCRIPT API (3.2)部署
    WINFORM 只能运行一个实例问题
    iOS 版本号
    同步和异步的区别
    简单的手机号判断
    "_inflateEnd", referenced from "_inflateInit_"等。这时需要在工程中加入libz.dlib 文件
    iOS 实现打电话
    assign retain copy iOS
    iOS 长按事件 UILongPressGestureRecognizer
    UITableView 滑动删除
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6673980.html
Copyright © 2020-2023  润新知