Computer >> Máy Tính >  >> Lập trình >> C ++

Số lượng tối đa có thể được hiển thị trên Hiển thị bảy phân đoạn bằng cách sử dụng N phân đoạn trong C ++


Nhiệm vụ được giao là tìm số lượng lớn nhất có thể được hiển thị bằng cách sử dụng N phân đoạn trên số kiến ​​của hiển thị bảy đoạn.

Bây giờ chúng ta hãy hiểu những gì chúng ta phải làm bằng cách sử dụng một ví dụ -

Đầu vào - N =5

Đầu ra - 71

Giải thích - Số lớn nhất sẽ được hiển thị như sau trên màn hình bảy đoạn -

Số lượng tối đa có thể được hiển thị trên Hiển thị bảy phân đoạn bằng cách sử dụng N phân đoạn trong C ++

Đầu vào - N =6

Đầu ra - 111

Số lượng tối đa có thể được hiển thị trên Hiển thị bảy phân đoạn bằng cách sử dụng N phân đoạn trong C ++

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Tình huống sau có thể được chia thành 3 trường hợp -

    • Trường hợp 1 -

      Nếu N là 0 hoặc 1, thì không thể hiển thị bất kỳ số nào.

    • Trường hợp 2 -

      Nếu N lẻ. Khi đó các số có thể được hiển thị với số đoạn lẻ là 2, 3, 5, 7 và 8, trong đó 7 chiếm số đoạn ít nhất, nghĩa là 3. Do đó 7 là chữ số có nghĩa nhất trong trường hợp này.

    • Trường hợp 3 -

      Nếu N chẵn. Khi đó các số có thể được hiển thị với số đoạn lẻ là 0, 1, 4, 6, 9 và 8, trong đó 1 chiếm số đoạn ít nhất, nghĩa là 2. Do đó 1 là chữ số có nghĩa nhất trong trường hợp này .

  • Trong hàm MaxNumber (), trước tiên hãy kiểm tra điều kiện cơ sở bằng cách sử dụng

    nếu (N ==1 || N ==0)

  • Sau đó, sử dụng một câu lệnh if khác, kiểm tra xem N có chẵn không. Nếu vậy, hãy in “1” vì nó là chữ số có nghĩa nhất trong trường hợp chẵn và gọi MaxNumber (N - 2) vì 2 phân đoạn đang được sử dụng ở đây.

  • Sử dụng một câu lệnh if khác để kiểm tra xem N có lẻ hay không. Nếu vậy, hãy in “7” vì nó là chữ số có nghĩa nhất trong trường hợp lẻ và gọi MaxNumber (N - 3) vì 3 phân đoạn đang được sử dụng ở đây.

Ví dụ

#include <iostream>
using namespace std;
void MaxNumber(int N){
   //Condition to check base case
   if (N == 1 || N == 0){
      return;
   }
   //If the number is even
   if (N % 2 == 0){
      cout << "1";
      MaxNumber(N - 2);
   }
   //If the number is odd
   else if (N % 2 == 1){
      cout << "7";
      MaxNumber(N - 3);
   }
}
//Main function
int main(){
   int N;
   N = 5;
   MaxNumber(N);
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, chúng ta sẽ nhận được kết quả sau -

71