Tai lieu day HSG lop 7,8
Chia sẻ bởi Mr Nguyên |
Ngày 06/11/2018 |
38
Chia sẻ tài liệu: tai lieu day HSG lop 7,8 thuộc Tin học 9
Nội dung tài liệu:
12*. Số tự nhiên n gọi là Amstrong nếu nó bằng tổng lập phương các chữ số của mình. Ví dụ 153 = 13 + 53 + 33.
Viết chương trình tính tất cả các số Amstrong có 4 chữ số.
uses crt;
var a,b,c,d:byte;
Begin
clrscr;
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
for d:=0 to 9 do
if (sqr(a)*a+sqr(b)*b+sqr(c)*c+sqr(d)*d)=(a*1000+b*100+c*10+d) then
writeln(a,b,c,d);
write(`End`);
readln;
End.
13*. Hai số tự nhiên n và m được gọi là thân thiện nếu số này bằng tổng các ước số của số thứ hai. Hãy tìm tất cả các cặp số thân thiện nhỏ hơn 10000.
Uses crt;
Var N1,N2,T,k:integer;
BEGIN { Main Program }
clrscr;
writeln(`Liet ke cac cap so
than thien tu 1 den 10000`);
for N1:=1 to 10000 do
Begin
T:=0;
k:=2;
while (k<=(N1 div 2))and(T<=10000) do
begin
if (N1 mod k=0) then T:=T+k;
inc(k);
end;
If (T>0)and(T<=10000) then
Begin
N2:=T;
T:=0;
k:=2;
while (k<=(N2 div 2))and(T<=N1) do
begin
If (N2 mod k=0) then T:=T+k;
inc(k);
end;
If T=N1 then writeln(`(`,N1,`,`,N2,`)`);
End;
End;
write(` Het, nhan Enter de thoat...`);
readln;
END.
14. Số tự nhiên được gọi là Palindrom nếu cách biểu diễn thập phân của số này là đối xứng, ví dụ các số 22, 353. Hãy viết chương trình tìm tất cả các số Palindrom có 3 chữ số thập phân.
uses crt;
var x,y,z,c:byte;
BEGIN
clrscr;
c:=0;
writeln(`Cac so Palindrom co 3 chu so la`);
for x:=1 to 9 do
for y:=0 to 9 do
for z:=1 to 9 do
if x=z then
begin
write(x,y,z,#32#32);
inc(c);
end;
writeln;
write(`Co `,c,` so Palindrom co 3 chu so`);
readln;
END.
17**. Giả sử n là một số tự nhiên. Ký hiệu p(n) là số thu được từ n bằng cách viết ngược lại các chữ số. Ví dụ nếu n=12 thì p(n)=21, n=378 thì p(n)=873. Rõ ràng rằng số n sẽ là Palindrom khi và chỉ khi n = p(n).
Với mỗi số tự nhiên n ta thực hiện các phép biến đổi sau:
- Kiểm tra n có phải là Palindrom hay không.
- Nếu n là Palindrom thì kết thúc phép biến đổi.
- Nếu n không là Palindrom thì biến đổi n --> n + p(n)
- Quay lại bước đầu tiên.
Người ta khẳng định rằng quá trình biến đổi mọi số tự nhiên theo cách trên đều kết thúc, tức là sẽ đều thu được số Palindrom.
Em hãy viết chương trình kiểm tra giả thuyết trên với số n được nhập từ bàn phím. Trong trường hợp đã thực hiện quá nhiều các phép biến đổi (chẳng hạn sau 100 lần) thì cũng kết thúc và thông báo "Phép biến đổi chưa đạt kết quả".
uses crt;
var N,M,PN:longint;
s: string[14];
count,i,k,c: byte;
ch:char;
code: integer;
kt: Boolean;
BEGIN
clrscr;
write(`Nhap N=`);readln(N);
M:=N;c:=0;
if (n>=0)and(n<=9) then write(`So N la so Palindrom`)
else
begin
count:=0;
repeat
KT:=true;
str(N,s);
k:=(length(s)+1) div 2;
for i:=1 to k do
if s[i]<>s[length(s)-i+1] then kt:=false;
if kt=true then write(`So N la so Palindrom`)
else
begin
Viết chương trình tính tất cả các số Amstrong có 4 chữ số.
uses crt;
var a,b,c,d:byte;
Begin
clrscr;
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
for d:=0 to 9 do
if (sqr(a)*a+sqr(b)*b+sqr(c)*c+sqr(d)*d)=(a*1000+b*100+c*10+d) then
writeln(a,b,c,d);
write(`End`);
readln;
End.
13*. Hai số tự nhiên n và m được gọi là thân thiện nếu số này bằng tổng các ước số của số thứ hai. Hãy tìm tất cả các cặp số thân thiện nhỏ hơn 10000.
Uses crt;
Var N1,N2,T,k:integer;
BEGIN { Main Program }
clrscr;
writeln(`Liet ke cac cap so
than thien tu 1 den 10000`);
for N1:=1 to 10000 do
Begin
T:=0;
k:=2;
while (k<=(N1 div 2))and(T<=10000) do
begin
if (N1 mod k=0) then T:=T+k;
inc(k);
end;
If (T>0)and(T<=10000) then
Begin
N2:=T;
T:=0;
k:=2;
while (k<=(N2 div 2))and(T<=N1) do
begin
If (N2 mod k=0) then T:=T+k;
inc(k);
end;
If T=N1 then writeln(`(`,N1,`,`,N2,`)`);
End;
End;
write(` Het, nhan Enter de thoat...`);
readln;
END.
14. Số tự nhiên được gọi là Palindrom nếu cách biểu diễn thập phân của số này là đối xứng, ví dụ các số 22, 353. Hãy viết chương trình tìm tất cả các số Palindrom có 3 chữ số thập phân.
uses crt;
var x,y,z,c:byte;
BEGIN
clrscr;
c:=0;
writeln(`Cac so Palindrom co 3 chu so la`);
for x:=1 to 9 do
for y:=0 to 9 do
for z:=1 to 9 do
if x=z then
begin
write(x,y,z,#32#32);
inc(c);
end;
writeln;
write(`Co `,c,` so Palindrom co 3 chu so`);
readln;
END.
17**. Giả sử n là một số tự nhiên. Ký hiệu p(n) là số thu được từ n bằng cách viết ngược lại các chữ số. Ví dụ nếu n=12 thì p(n)=21, n=378 thì p(n)=873. Rõ ràng rằng số n sẽ là Palindrom khi và chỉ khi n = p(n).
Với mỗi số tự nhiên n ta thực hiện các phép biến đổi sau:
- Kiểm tra n có phải là Palindrom hay không.
- Nếu n là Palindrom thì kết thúc phép biến đổi.
- Nếu n không là Palindrom thì biến đổi n --> n + p(n)
- Quay lại bước đầu tiên.
Người ta khẳng định rằng quá trình biến đổi mọi số tự nhiên theo cách trên đều kết thúc, tức là sẽ đều thu được số Palindrom.
Em hãy viết chương trình kiểm tra giả thuyết trên với số n được nhập từ bàn phím. Trong trường hợp đã thực hiện quá nhiều các phép biến đổi (chẳng hạn sau 100 lần) thì cũng kết thúc và thông báo "Phép biến đổi chưa đạt kết quả".
uses crt;
var N,M,PN:longint;
s: string[14];
count,i,k,c: byte;
ch:char;
code: integer;
kt: Boolean;
BEGIN
clrscr;
write(`Nhap N=`);readln(N);
M:=N;c:=0;
if (n>=0)and(n<=9) then write(`So N la so Palindrom`)
else
begin
count:=0;
repeat
KT:=true;
str(N,s);
k:=(length(s)+1) div 2;
for i:=1 to k do
if s[i]<>s[length(s)-i+1] then kt:=false;
if kt=true then write(`So N la so Palindrom`)
else
begin
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Mr Nguyên
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)