VL10 - Đếm số lượng chữ số của số n
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
0.5s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift
Viết chương trình đếm số lượng chữ số của một số nguyên ~n~ nhập từ bàn phím.
Input
- Số nguyên ~n~
Giới hạn
- ~|n| \le 10^{1000} ~
Output
Số lượng chữ số của số ~n~
Sample
Input #1
1234
Output #1
4
Bình luận
hi
ai hoi
idk
include <bits/stdc++.h>
Cái này mọi người nên xử lý chuỗi string hoặc mãng ký tự nha, chứ mấy cái kiểu số kia nó k đủ để chứ số lớn v đâu
include <iostream>
include <iomanip>
include <string>
using namespace std; int main() { int count = 0; char* a = new char[10000]; cin.getline(a, 10000); for (int i = 0; a[i] != '\0'; i++) if(a[i] != '-') count += 1; cout << count;
}
giang giò
CODE FULL AC CHO AE=))
FULL AC:
Bài này chắc chắn k dùng số nguyên đc
include <iostream> include <string> using namespace std;
int main() { string n; cin >> n; if (n[0] == '-') { cout << n.size() - 1; } else { cout << n.size(); } return 0; }
include <iostream>
include <string>
using namespace std;
int main() { string n; cin >> n; if (n[0] == '-') { cout << n.size() - 1; } else { cout << n.size(); }
} bài đúng full testcase nhé các ae
bài của ae đây nhá int a,b; b=0; std::cin>>a; do{ b++; a/=10; }while(a>=1||a<=-1);
hihi
Cho mình xin test 3 4 6 nha
Bạn dùng long long thì nó chạy tới đó là đúng rồi. Giới hạn của kiểu trong C++ đấy
Đầu tiên tạo biến nstr; Nhập nstr theo kiểu chuỗi Xét nếu nstr = 0 / if(nstr == '0') thì cout << '1'; Nếu khác 0 thì có 2 trường hợp là có dấu và không dấu Nếu âm / if(nstr[0] = '-') thì cout << nstr.size() - 1; Nếu dương thì cout << n_str.size(); **
str s; inp>>s; out<<s.size()-(s[0]=='-');
nó chỉ đúng 3 bộ test thui
chú ý số âm ( dấu -)
check n[0] == '-' là check xem số có âm hay không hả mn
Để ~n~ thành dạng string, dùng hàm ~size()~ để in ra kích thước của ~n~.
Trước khi in ra thì kiểm tra: ~n[0]~ == '-' thì ~n.size()~ -- nhé
Không để người ta giúp đỡ người khác được à.
Sử dụng chuỗi và lưu ý với trường hợp số âm nhé
test 6 là gì v ạ
test 6 là 1 số âm lớn nhé
bài này số nguyên quá lớn sẽ bị tràn nếu bạn dùng int b đổi sang string là được
dữ liệu vào có thể lên đến 1000 kí tự nên bạn dùng string nhé và chú ý trường hợp số âm nữa
test 6 là 1 số âm có 1000 chữ số
hình như cái này sai tới mấy testcase lận thiếu trường hợp số âm nữa
tôi cũng học java mà ông giải kiểu j mà nó đúng hết tất cả các test case hay v chỉ tôi với
mọi người ơi cho em hỏi bài này code c thì làm như nào ạ
hao no
Bạn nào mà dùng python mà làm thì mình thấy ép kiểu từ int sang str rồi mình dùng len() để đếm chữ số cũng ổn đấy
ko cần ép int sang str cũng ko cần abs bài có hai trường hợp đó là n>=10 và n<=-10 dùng while rồi đếm như bình thường thôi nha bạn
cho mình hỏi test 5 là gì vậy?
hình như nhập 0 hoặc -0 á bạn
bài này nếu có test 000001 thì các bạn thêm hàm xóa số 0 đi while(int(s[0]) == 48)
giới hạn test sợ vãi
sir admin
var n:string; begin readln(n); if n[1]='-' then delete(n,1,1); write(length(n));
end.
tes cuoi sao vay moi nguoi
Bài này mình không dùng length thì có khả thi ko mọi người ?
Test cuối là gì vậy mọi người?
Em check lại giới hạn của đề bài nhé.
xin code banj oi
string nha bạn