Viết phương trình nhập vào 5 số nguyên abc tìm số lớn nhất

Bài này mình được giao từ hồi lớp 8, đến giờ vẫn chưa giải được. Mời anh em DNH vào làm thử:

Dùng tất cả các ngôn ngữ có thể, tìm ra số lớn nhất trong 5 số nguyên. Yêu cầu:

  • Dùng ít hơn 5 lần if. Đề gốc là dùng <= 3 lần if. Mọi hình thức khác của if như
(a > b) ? a : b

đều không được chấp nhận.

  • Không được dùng vòng lặp.
  • Không dùng hàm max() hoặc min() có sẵn của ngôn ngữ lập trình bạn sử dụng.
  • Không được dùng mảng.

Hi HK boy.
Vứt mấy cái bài này đi. Thích thì chạy vòng for xếp mảng 5 phần tử.

1 Like

int MaxOf5Integers(int Input1, int Input2, int Input3, int Input4, int Input5) { var InputNumbers = new System.Collections.Generic.List<int>(new int[] { Input1, Input2, Input3, Input4, Input5 }); if (InputNumbers[0] > InputNumbers[1]) InputNumbers.RemoveAt(1); else InputNumbers.RemoveAt(0); if (InputNumbers[0] > InputNumbers[1]) InputNumbers.RemoveAt(1); else InputNumbers.RemoveAt(0); if (InputNumbers[0] > InputNumbers[1]) InputNumbers.RemoveAt(1); else InputNumbers.RemoveAt(0); if (InputNumbers[0] > InputNumbers[1]) InputNumbers.RemoveAt(1); else InputNumbers.RemoveAt(0); return InputNumbers[0]; }

Đề gốc tính sau.

1 Like

Có được phép dùng mảng và hàm sắp xếp mảng không?

Quên mất. Không được dùng mảng nhé.

Viết phương trình nhập vào 5 số nguyên abc tìm số lớn nhất
Phong_Ky_Vo:

Vứt mấy cái bài này đi.

Làm vui mà, đừng nghiêm túc quá :v

Hi HK boy.
Bạn ném cái if vào trong hàm rồi gọi lại hàm.

def getMax(a, b): if a < b: return b else : return a a = 3 b = 5 c = 7 d = 0 e = 6 print(getMax(a, getMax(b, getMax(c, getMax(d, e)))))

1 Like

#include <iostream> #include <algorithm> int main(/*int argc, char *argv[]*/) { int a = 10; int b = 22; auto maxof = [](int a, int b){ return (abs(a - b) + (a + b)) / 2; }; std::cout << maxof(a, b) << std::endl; return 0; }

wandbox.org

#include #include int main(/*int argc, char *argv[]*/) { int a = 10; int b = 22; auto maxof = [](int a, int b){ return (abs(a - b) + (a + b)) / 2; }; std::cout


Cần float thì mình xài thêm Template
Viết phương trình nhập vào 5 số nguyên abc tìm số lớn nhất

1 Like

Thế này khác gì 4 lần if đâu bác :v

Hi Dark.Hades.
Liệu dùng trị tuyệt đối cho cả 5 thăng được không nhỉ ?

Hi HK boy.
Thay hàm max trị truyệt đối vào. @_@!

1 Like

Hoy, hỏi số nguyên đã :v mà đây mới là 2 số mà, bác viết thêm 5 số cho đủ bộ :v

mặc dù mình biết là viết 5 số cũng tương tự thôi :v

1 Like

def get_max(a, b): return (a ^ ((a ^ b) & -(a < b))) a = 3 b = 5 c = 7 d = 9 e = 6 print(get_max(a, get_max(b, get_max(c, get_max(d, e)))))

2 Likes

Không dùng if luôn:

int MaxOf2Integers(int Input1, int Input2) { return (int)((Input1 + Input2 + System.Math.Abs(Input1 - Input2)) / 2); } int MaxOf5Integers(int Input1, int Input2, int Input3, int Input4, int Input5) { return MaxOf2Integers(Input1, MaxOf2Integers(Input2, MaxOf2Integers(Input3, MaxOf2Integers(Input4, Input5)))); }

2 Likes

#include <iostream> #include <algorithm> #include <vector> int main(/*int argc, char *argv[]*/) { std::vector<int> a = {2,3,1,5,4}; auto maxof = [](const std::vector<int> &a){ int max = a.front(); for (std::size_t i = 1; i < a.size(); i++) { max = (abs(max - a.at(i)) + (max + a.at(i))) / 2; } return max; }; std::cout << maxof(a) << std::endl; return 0; }

wandbox.org

#include #include #include int main(/*int argc, char *argv[]*/) { std::vector a = {2,3,1,5,4}; auto maxof = [](const std::vector &a){ int max = a.fr


Các bác đổi thuật nhanh quá, mình viết vội cũng k kịp
Viết phương trình nhập vào 5 số nguyên abc tìm số lớn nhất

1 Like

Thế thôi để lát về đổi thành recursive, đọc đề k kĩ

Viết phương trình nhập vào 5 số nguyên abc tìm số lớn nhất

1 Like

n số tìm max thì tối thiểu cần n-1 phép ss, ko ăn gian dc đâu

2 Likes

Chắc không chơi hàm dựng sẵn.

1 Like

Ngôn ngữ Erlang, bản thân cú pháp không có if, không for

max(A, B, C, D, E) -> lists:foldl( fun(Element, Max) when Element > Max -> Element; (_, Max) -> Max end, A, [B,C,D,E]).

1 Like

Dùng bitwise nhé bạn, done

int getMax(int a, int b) { int c = a - b; int k = (c >> 31) & 0x1; int max = a - k * c; return max; } int max_of_5 = getMax(a,getMax(b,getMax(c,getMax(d,e))))

2 Likes

next page →

Home Categories FAQ/Guidelines Terms of Service Privacy Policy

  • lý thuyết
  • trắc nghiệm
  • hỏi đáp
  • bài tập sgk

Viết chương trình tìm số lớn nhất trong 2 số nguyên a b

Các câu hỏi tương tự

Xem chi tiết

Xem chi tiết

Xem chi tiết

Xem chi tiết

Xem chi tiết

Xem chi tiết

Xem chi tiết

Xem chi tiết

Xem chi tiết

  • Trong một đợt đi dã ngoại nhân dịp kỷ niệm ngày thành lập QĐND Việt Nam 22/12, ban tổ chức dự định phát đều các vật dụng gồm áo và mũ cho các thành viên tham gia. Tính xem mỗi người được phát bao nhiêu cái áo, bao nhiêu cái mũ và tính số lượng áo, mũ còn thừa.
    Dữ liệu: Vào từ file văn bản DANGOAI.INP có cấu trúc:

    • Hàng 1: ghi hai số nguyên dương A, M là số áo và mũ (10 ≤ A, M  ≤ 103).
    • Hàng 2: ghi số nguyên dương T là số thành viên tham dự đợt dã ngoại.

    Kết quả: Ghi vào file DANGOAI.OUT có cấu trúc:

    • Hàng 1: lần lượt là số áo, số mũ mỗi thành viên được phát (mỗi số cách nhau một ký tự trắng).
    • Hàng 2: lần lượt là số áo, số mũ còn thừa.

    23/10/2022 |   0 Trả lời

  • 27/10/2022 |   1 Trả lời

  • 30/10/2022 |   1 Trả lời

  • 30/10/2022 |   1 Trả lời

  • 30/10/2022 |   1 Trả lời

  • 30/10/2022 |   1 Trả lời

  • 30/10/2022 |   1 Trả lời

  • Viết chương trình nhập vào hai số nguyên a,b từ bàn phím. In ra hai số ra màn hình trên cùng 1 dòng (khi chạy chương trình nhập a=5, =6 để kiểm tra kết quả).

    31/10/2022 |   0 Trả lời

  • 31/10/2022 |   1 Trả lời

  • 31/10/2022 |   1 Trả lời

  • 31/10/2022 |   1 Trả lời

  • 01/11/2022 |   1 Trả lời

  • viết chương trình nhập vào 2 số a và b từ bàn phím tính tổng, hiệu, thích thương của hai số a và b. tính trung bình cộng của 2 số a và b

    01/11/2022 |   0 Trả lời

  • Viết chương trình tính tổng 2 số nguyên a và b

    01/11/2022 |   0 Trả lời

  • Viết chương trình cho phép tính trung bình cộng của bốn số

    03/11/2022 |   0 Trả lời

  • phân biệt từ khóa và tên trong ngôn ngữ lập trình nêu cấu trúc trung của 1 chương trình

    04/11/2022 |   0 Trả lời

  • A. Khai báo biến

    B. Gán giá trị cho biến

    C. Tính toán với giá trị của biến

    D. Tất cả các ý trên

    06/11/2022 |   1 Trả lời

  • Viết câu lệnh tính diện tích hình chữ nhật với độ dài hai cạnh lần lượt là 5 và 7

    08/11/2022 |   0 Trả lời

  • 09/11/2022 |   1 Trả lời

  • 09/11/2022 |   1 Trả lời

  • 10/11/2022 |   1 Trả lời

  • 09/11/2022 |   1 Trả lời

  • A. a.b - cd

    B. ab + c/d

    C. a – b(c - d)

    D. a – b + a – b

    09/11/2022 |   1 Trả lời

  • 09/11/2022 |   1 Trả lời

  • 09/11/2022 |   1 Trả lời