Search…

Định Nghĩa Số IO

06/05/20212 min read
1 chút ngẫu hứng tạo 1 con số và được gọi là số IO (STDIO), bài viết tạo ra 1 bài tập lập trình ứng dụng các cú pháp cơ bản để rèn luyện kỹ thuật.

Số IO là gì?

Số IO được tạo ra dành cho mục đích thực hành kỹ thuật lập trình với vòng lặp.

  • Đếm số lượng ký số nguyên.
  • Tính toán lũy thừa.

Số IO của 1 số là 1 ánh xạ thập phân theo 10 mũ số lượng ký số trừ cho chính nó sao cho số lượng ký số của kết quả phải bằng với số lượng ký số của nó.

* Số IO chỉ dùng để thực hành lập trình, không phải các con số toán học chính thống.

Công thức

io_number_equation

Ví dụ

Tính số IO của số 395

  • 395 có 3 ký số nên cần tính 10 mũ 3 là 1000.
  • Lấy 1.000 - 395 được 605.
  • 605 có 3 ký số bằng với 395 cũng có 3 ký số vậy 605 là IO của 395.

Tính số số IO của số 9991

  • 9991 có 4 ký số nên cần tính 10 mũ 4 là 10.000.
  • Lấy 10.000 - 9991 được 9.
  • 9 có 1 ký số không bằng với 9991 có 3 ký số vậy không tồn tại IO của 9991.

Giải thuật trong lập trình

  • Xét số N, nếu là số nhỏ hơn 10 thì không tồn tại số IO.
  • Đếm số lượng ký số length_N của số N.
  • Tìm số có giá trị M sao cho kết quả là 10 ^ length_N - N.
  • Tính số lượng ký số length_M của số M.
  • So sánh length_M và length_N, nếu bằng nhau thì M chính là số IO, ngược lại không tồn tại số IO của N.

Hàm tính số IO trên C

int countNumberOfDigits(int _number)
{
	int lengthNumber = 1;
	while (_number >= 10)
	{
		_number /= 10;
		lengthNumber++;
	}
	return lengthNumber;
}

int computeTenTo(int _number)
{
	int result = 1;
	for (int index = 0; index < _number; index++)
		result *= 10;
	return result;
}

int computeSTDIONumber(int _number)
{
	if (_number < 10) return -1;

	int length_N = countNumberOfDigits(_number);
	int M = computeTenTo(length_N) - _number;
	
	return countNumberOfDigits(M) == length_N ? M : -1;
}
IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024