Skip to content

Instantly share code, notes, and snippets.

@laam-egg
Created June 17, 2023 07:12
Show Gist options
  • Select an option

  • Save laam-egg/17f22768b5e0e949b49b9e62c234682d to your computer and use it in GitHub Desktop.

Select an option

Save laam-egg/17f22768b5e0e949b49b9e62c234682d to your computer and use it in GitHub Desktop.
/**
* CHỮ SỐ 2
* Viết chương trình nhập vào một số nguyên dương N (N <= 10^18),
* in ra 1 nếu N chứa chữ số 2, 0 nếu N không chứa chữ số 2 nào.
* INPUT:
* Dòng 1: số nguyên T là số bộ test
* T dòng tiếp theo: mỗi dòng là một số nguyên N.
* OUTPUT:
* T dòng, mỗi dòng in ra 1/0 tương ứng với số N đã nhập.
*/
#include <stdio.h>
#include <string.h>
#include <math.h>
int main() {
int s;
scanf("%d", &s);
while (s--) {
long long N;
scanf("%lld", &N); // Chú ý với long long dùng %lld, với int dùng %ld hay %d đều được !
int found2 = 0; // sẽ chỉ bằng 1 nếu trong N có chữ số 2
while (N != 0) {
int c = N % 10; // đọc chữ số cuối
N = N / 10; // bỏ đi chữ số cuối
if (c == 2) {
// Tìm thấy chữ số 2
found2 = 1;
break; // không cần tìm thêm !
}
}
printf("%d\n", found2); // vì found2 nhận giá trị 1/0 tương ứng rồi, không cần if/else làm gì !
// Nếu viết if/else thì:
// if (found2 == 1) printf("1\n");
// else printf("0\n");
}
return 0;
// Nên xóa các comment rồi đọc lại code để hiểu kĩ hơn, tự mình giải thích từng dòng code một.
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment