zoukankan      html  css  js  c++  java
  • PAT B1012 数字分类 (20 分)

    B1012 数字分类 (20 分)

    给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:

    A​1​​ = 能被 5 整除的数字中所有偶数的和;
    A​2​​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n​1​​−n​2​​+n​3​​−n​4​​⋯;
    A​3​​ = 被 5 除后余 2 的数字的个数;
    A​4​​ = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
    A​5​​ = 被 5 除后余 4 的数字中最大数字。
    

    输入格式:

    每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。数字间以空格分隔。

    输出格式:

    对给定的 N 个正整数,按题目要求计算 A​1​​~A​5​​ 并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。

    若其中某一类数字不存在,则在相应位置输出 N。
    输入样例 1:

    13 1 2 3 4 5 6 7 8 9 10 20 16 18
    

    输出样例 1:

    30 11 2 9.7 9
    

    输入样例 2:

    8 1 2 4 5 6 7 9 16
    

    输出样例 2:

    N 11 2 N 9
    

    要注意的地方是A2可能元素相加为0,和之前直接赋值为0含义不一样,会引起歧义,最后一个测试点无法通过。

    #include <iostream>
    using namespace std;
    int main()
    {
        int N,a[1000]={0};
        cin>>N;
        for(int i=0;i<N;i++)
        {
            cin>>a[i];
        }
        int A1=0,A2=0,A3=0,A4=0,A5=0,flag=1,num=0,danger=0;
        for(int i=0;i<N;i++)
        {
            if(a[i]%5==0&&a[i]%2==0) A1+=a[i];
            if(a[i]%5==1) {A2+=flag*a[i];flag=-flag;danger=1;}
            if(a[i]%5==2) {A3++;}
            if(a[i]%5==3) {A4+=a[i];num++;}
            if(a[i]%5==4) {
                if(A5<a[i]) A5=a[i];
                          }
        }
        if(!A1) cout<<"N ";else cout<<A1<<" ";
        if(!danger) cout<<"N ";else cout<<A2<<" ";
        if(!A3) cout<<"N ";else cout<<A3<<" ";
        if(!A4) cout<<"N ";else printf("%.1f ",(double)A4/num);
        if(!A5) cout<<"N"; else cout<<A5;
        return 0;
        
    }
    
  • 相关阅读:
    mac上python3安装HTMLTestRunner
    双目深度估计传统算法流程及OpenCV的编译注意事项
    深度学习梯度反向传播出现Nan值的原因归类
    1394. Find Lucky Integer in an Array
    1399. Count Largest Group
    1200. Minimum Absolute Difference
    999. Available Captures for Rook
    509. Fibonacci Number
    1160. Find Words That Can Be Formed by Characters
    1122. Relative Sort Array
  • 原文地址:https://www.cnblogs.com/sariel-sakura/p/13164646.html
Copyright © 2011-2022 走看看