Viết chương trình nhập vào số nguyên dương N từ bàn phím (N <10^9 ). Hãy in ra số nguyên lớn nhất nhỏ hơn N có tổng các chữ số bằng 10. Ví dụ Nhập N=200,kết quả 190(làm trên pascal)
Viết chương trình nhập vào số nguyên dương N từ bàn phím (N <10^9 ). Hãy in ra số nguyên lớn nhất nhỏ hơn N có tổng các chữ số bằng 10. Ví dụ Nhập N=200,kết quả 190(làm trên pascal)
Chỉ tính số dương
program bai_giai;
uses crt;
var n:longint;
{—HAM-KT—}
function kt(k:longint):boolean;
var t,i:byte;
begin
t:=0;
while k>0 do
begin
i:=k mod 10;
t:=t+i;
k:=k div 10;
end;
if t=10 then kt:=true else kt:=false;
end;
{—CT-chinh—}
BEGIN
clrscr;
write(‘Nhap N= ‘); readln(n);
n:=n-1;
while (kt(n)=false) and (n>=19) do n:=n-1;
if n<19 then write(‘Khong co so nao hop le’)
else write(‘So thoa man la: ‘,n);
readln;
end.
Tính cả số âm
program bai_giai;
uses crt;
var n:longint;
{—HAM-KT—}
function kt(k:longint):boolean;
var t,i:byte;
begin
t:=0;
while k>0 do
begin
i:=k mod 10;
t:=t+i;
k:=k div 10;
end;
if t=10 then kt:=true else kt:=false;
end;
{—CT-chinh—}
BEGIN
clrscr;
write(‘Nhap N= ‘); readln(n);
n:=n-1;
while (kt(n)=false) do n:=n-1;
write(‘So thoa man la: ‘,n);
readln;
end.
uses crt;
var n,i,kt,a,e,j:longint; s:string;
begin
clrscr;
write(‘n=’);readln(n);
i:=n;
repeat
dec(i); kt:=0;
str(i,s);
for j:=1 to length(s) do
begin
val(s[j],a,e);
kt:=kt+a;
end;
until (kt=10)or(i=0);
If i=0 then writeln(‘Kkong co so nao hop le!!!!’) else writeln(i);
readln
end.