Mô tả bài toán
Tạo ứng dụng Console, cho phép người dùng nhập vào số dòng cần in rows . In ra màn hình 2 cách thể hiển của Tam giác Nhị phân như sau:
- Output không có định dạng:
Enter the Number of Rows : 5
1
01
010
1010
10101
- Output có định dạng khoảng cách:
Enter the number of lines: 5
1
0 1
1 0 1
0 1 0 1
1 0 1 0 1
Cách giải quyết
- Cần tạo biến
row để lưu trữ con số người dùng nhập.
- Sử dụng vòng lặp
for loop để duyệt từ 1 -> row , mỗi lần lặp in ra giá trị của Tam giác Nhị phân
- Dòng 1: gồm 1 ký tự, bắt đầu là 1
- Dòng 2: gồm 2 ký tự, bắt đầu là ký tự trái ngược với ký tự gần kề trước đó
- Dòng 3: gổm 3 ký tự ...
- Dòng N: gồm N ký tự ...
Source code
[su_spoiler title="Bài giải (Nên nhớ tự làm trước khi click vào đây)"]
/*
C# Program to Print a Binary Triangle
This is a C# Program to Print a binary triangle.
Problem Description
This C# Program Prints a Binary Triangle.
Problem Solution
Binary Triangle is a Triangle formed with 1’s and 0’s.Number of rows in the binary triangle is obtained from the user.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Lession5
{
class Program
{
public static void Main(String[] args)
{
// Display Binary triangle
BinaryTriangle();
// Display Binary triable with formated
BinaryTriangleFormated();
}
private static void BinaryTriangle()
{
int p, lastInt = 0, input;
Console.Write("Enter the Number of Rows : ");
input = int.Parse(Console.ReadLine());
for (int i = 1; i <= input; i++)
{
for (p = 1; p <= i; p++)
{
if (lastInt == 1)
{
Console.Write("0");
lastInt = 0;
}
else if (lastInt == 0)
{
Console.Write("1");
lastInt = 1;
}
}
Console.Write("\n");
}
Console.ReadLine();
}
private static void BinaryTriangleFormated()
{
int i, j, k, numOfLines;
Console.Write("Enter the number of lines:");
numOfLines = Convert.ToInt32(Console.ReadLine());
for (i = 1; i <= numOfLines; i++)
{
for (k = numOfLines - i; k >= 1; k--)
{
Console.Write(" ");
}
if (i % 2 != 0)
{
for (j = 1; j <= i; j++)
{
if (j % 2 == 0)
{
Console.Write("0 ");
}
else
{
Console.Write("1 ");
}
}
}
else if (i % 2 == 0)
{
for (j = 1; j <= i; j++)
{
if (j % 2 == 0)
{
Console.Write("1 ");
}
else
{
Console.Write("0 ");
}
}
}
Console.WriteLine();
}
Console.ReadKey();
}
}
}
[/su_spoiler]
Github
https://github.com/kellyfire611/learning.nentang.vn-csharp/blob/master/src/Lession5/Program.cs
|