Mọi người giúp mik với ạ
Viết phương trình pascal: Cho số TN n , hãy tìm chữ số đầu tiên của n.
Input: số TN n (n<10^9)
Output: Chữ số đầu tiên của n
VD: n=231456 thì chữ số đầu tiên của n là 2. Vậy xuất 2
Lưu ý: Mik cần dạng đơn giản nhất có thể ạ
Mọi người giúp mik với ạ Viết phương trình pascal: Cho số TN n , hãy tìm chữ số đầu tiên của n. Input: số TN n (n<10^9) Output: Chữ số đầu tiên của n
By Gabriella
Về mặt ý tưởng, bài này bạn cần tính phần nguyên của n với 10^k là ok, tức n div 10^k (với k là số chữ số của n). Cho nên bước 1 là dùng cách div và cộng dồn vào s để tính số chữ số của n; sau đó dùng lệnh for…do để tính 10^k bằng cách đã nêu dưới ctrinh. Cuối cùng in ra kết quả là n div 10^k. Dưới đây là chương trình cụ thể.
—————————————————————————-
Program tim_csdt;
uses crt;
var n ,m , k,i: longint;
d,e: longint;
begin
write(‘nhap n ‘);
readln(n);
d := 0; m:=n;
while m <> 0 do
begin
d := d + 1;
m:=m div 10;
end;
e:=1;
for i:=1 to d-1 do
e:=e*10;
writeln(‘co so chu so la ‘,n div e);
end.
uses crt;
var n : longint;
st : string;
i : integer;
begin clrscr;
write(‘Nhap so tu nhien n :’); readln(n);
str(n,st);
write(‘Chu so dau tien cua ‘,n,’ la :’, st[1]);
readln
end.