Cho một mảng số nguyên a, bạn hãy tính tổng tất cả các số có giá trị lớn hơn trung bình cộng của dãy. Nếu không có số nào thỏa đề, hãy trả về -1 Ví dụ

Cho một mảng số nguyên a, bạn hãy tính tổng tất cả các số có giá trị lớn hơn trung bình cộng của dãy. Nếu không có số nào thỏa đề, hãy trả về -1
Ví dụ:
Với a = [1,2,3,4,5] thì kết quả sum_numbers_larger_avarage(a) = 9
Giải thích:
Ta có trung bình cộng của dãy là 3
Các số có giá trị lớn hơn trung bình cộng là: [4, 5]
Nên tổng sẽ là 9
Đầu vào/Đầu ra:
[Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
[Đầu vào] array of integer a.
1 ≤ a.size ≤ 105
|a[i]| ≤ 106
[Đầu ra] integer.
Kết quả thỏa mãn đề

0 bình luận về “Cho một mảng số nguyên a, bạn hãy tính tổng tất cả các số có giá trị lớn hơn trung bình cộng của dãy. Nếu không có số nào thỏa đề, hãy trả về -1 Ví dụ”

  1. int sumNumbersLargerAverage(std::vector<int> a)
    {   int sum=0;
        int d=0;
        int c=0;
    for (int i=0; i<a.size(); i=i+1){
        if (a[i]>=0){
            c=c+a[i];}}
        
        for (int i=0;i<a.size(); i=i+1){
            if (c>=0){
                d=c/a.size();}}
        for (int i=0; i<a.size(); i=i+1){
            if (a[i]>d){
                sum=sum+a[i];
            }
        } 
        if (sum==0){ return -1;}
        else {return sum;}
    }

    Bình luận
  2. C# nhé.

    using System;

    namespace Console___Nháp
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.Write(“Nhap so luong phan tu: “);
                byte n = byte.Parse(Console.ReadLine());
                byte[] arr = new byte[105];
                int tong = 0;
                int tongkq = 0;
                for (int i = 0; i <= n-1; i++)
                {
                    Console.Write(“Nhap gia tri cho phan tu thu {0}: “,i+1);
                    arr[i] = byte.Parse(Console.ReadLine());
                    tong += arr[i];
                }
                for (int i = 0; i <= n – 1; i++)
                {
                    tongkq += (arr[i] > tong / n ? arr[i] : 0);
                }
                Console.WriteLine(tongkq);
                Console.ReadLine();
            }
        }
    }

    Bình luận

Viết một bình luận