Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Số lượng ước số tối đa được hình thành bởi hai số trong Python


Chúng ta được cho một mảng các phần tử kiểu nguyên và nhiệm vụ là tìm số lượng ước số tối đa được hình thành bằng cách nhân hai số, tức là trước tiên chúng ta sẽ nhân các số có trong mảng như tính tích chéo, thứ hai, chúng ta sẽ tính các ước số của những số đó và kiểm tra ước số tối đa trong số tất cả.

Đầu vào

int arr[] = {3, 2, 10}

Đầu ra

Số lượng ước số tối đa được hình thành bởi hai số là: 8

Giải thích

  • Tính tích chéo nội tại: 3*2=6, 3*10=30, 2*10=20
  • Tính ước số cho 6 → 1,2,3,6; 30 → 1,2,3,5,6,10,15,30; 20 → 1,2,4,5,10,20.
  • Kiểm tra số có số ước nhiều nhất: 6 có 4 ước, 20 có 6 ước, 30 có 8 ước. Vậy ước số tối đa là 8.

Đầu vào

int arr[] = {1, 4, 6}

Đầu ra

Số lượng ước số tối đa được hình thành bởi hai số là: 8

Giải thích

  • Tính tích chéo: 1*4=4, 1*6=6, 4*6=24
  • Ước số: 4→1,2,4; 6→1,2,3,6; 24→1,2,3,4,6,8,12,24.
  • Số ước nhiều nhất: 24 có 8 ước.

Phương pháp sử dụng trong chương trình dưới đây

  • Nhập các phần tử nguyên vào mảng
  • Biến tạm multiple và big để lưu giá trị tối đa
  • Vòng lặp i từ 0 đến độ dài mảng
  • Bên trong, vòng lặp j từ 0 đến độ dài mảng
  • Kiểm tra a[i] != a[j], nếu đúng thì multiple = a[i]*a[j] và nếu big < countFactor(multiple) thì big = countFactor(multiple)
  • Trong hàm countFactor(multiple): biến c=0, vòng lặp j từ 1 đến multiple, nếu multiple%j==0 thì c++, trả về c
  • In giá trị big

Ví dụ (Java)

public class BiggestFactor{
    public static void main(String[] args){
        int a[]={3,2,10};
        int multiple=1;
        int big=1;
        for(int i=0;i

Đầu ra

Maximum factors formed by two numbers are: 8