Thứ Năm, 7 tháng 11, 2019

Bài tập mới nhất

Viết chương trình giải các bài tập sau: 
n nhập từ bàn phím


Bài 3 (*)

Độ chắc chắn của một số nguyên dương x được quy định như sau:
- Nếu x có 1 chữ số thì độ chắc chắn của x bằng 0
- Nếu x có từ 2 chữ số trở lên thì độ chắc chắn của x bằng độ chắc chắn của số nguyên y +1 (với y là tích các chữ số của x)
Xem ví dụ để hiểu rõ cách tính độ chắc chắn
ví dụ tính độ chắc chắn của 68
  dochacchan(68) = dochacchan(48) + 1 = dochacchan(32) + 1 +1 = dochacchan(6) +1 +1 +1 = 0 +1 +1 +1=3
Vậy độ chắc chắn của 68 là 3
Viết chương trình nhập vào số nguyên x hãy in ra độ chắc chắn của x
ví dụ x=77 in ra 4

Bài 4/

Trong toán học thì các số nguyên a và b được gọi là số nguyên tố cùng nhau nếu như chúng có ước số chung lớn nhất là 1.
Số 1 là số nguyên tố cùng nhau với mọi số nguyên.
Ví dụ:
6 và 35 là hai số nguyên tố cùng nhau vì chúng có ước chung lớn nhất là 1.
6 và 27 không phải là hai số nguyên tố cùng nhau vì chúng có ước chung lớn nhất là 3.
Viết chương trình nhập 2 số nguyên a và b. thông báo a và b có là số nguyên tố cùng nhau hay không
Bài 5 (*)
Cho số nguyên dương x. Lấy x cộng với các chữ số của nó được số y. Khi đó x được gọi là số gốc của y
Ví dụ: x = 123, khi đó y = 123 + 1 + 2 + 3 = 129. Như vậy 123 là số gốc của 129. Có những số không có số gốc và có số lại có nhiều số gốc.
Ví dụ: x=199 khi đó y=199+1+9+9=218
        x=208 khi đó y=208+2+0+8=218
 Như vậy số y= 218 có 2 số gốc là 199 và 208. Cho số nguyên y (y <=106) hãy tìm số gốc của y. Nếu y có nhiều số gốc thì in ra số gốc lớn nhất nếu không có số gốc thì đưa ra số -1. 
Ví dụ:
y=678 thì in ra 663
y=222 thì in ra -1
Bài 6:
Số nguyên dương x gọi là số đẹp  khi thỏa mãn các điều kiện sau:
- x là số nguyên tố
-tổng chữ số của x cũng là số nguyên tố.
Cho nguyên dương n. hãy in ra các số đẹp x nhỏ hơn hoặc bằng n
Ví dụ n=30 in ra các số 2, 3, 5, 7, 11, 23, 29 
Bài 7:
x=20=2.2.5 (x có 2 ước nguyên tố là 2 và 5)
Tổng các ước nguyên tố của x là y=2+5=7. Khi đó y=7 là số nguyên tố rút gọn của x
Yêu cầu 1: 
Nhập số tự nhiên x từ bàn phím, in ra số nguyên tố rút gọn của x. (1<x<106)
Yêu cầu 2: 
Nhập 2 số nguyên m, n không vượt quá 104 (m<n). in ra các số nguyên tố rút gọn của các số trong đoạn từ mèn
Yêu cầu 3: 
Nhập 3 số nguyên x, m, n không vượt quá 104 (m<n). in ra các số có cùng số nguyên tố rút gọn với x trong đoạn m đến n

Chú ý: có thể viết thành 3 chương trình riêng

9 nhận xét:

  1. var
    i,n:integer;
    s:read;
    begin
    writeln('nhap so n');
    readln(n);
    s:=0;
    for i:=1 to n do
    s:=sqrt((n-i+1)+s);
    writeln(s);
    readln;
    end.

    Trả lờiXóa
  2. function ucln(c,d:longint):longint;
    begin
    while c<>d do
    begin
    if c>d then
    c:=c-d
    else
    d:=d-c;
    end;
    ucln:=c;
    end;
    var
    a,b:longint;
    begin
    readln(a);
    readln(b);
    if ucln(a,b)=1 then
    writeln('a va b la 2 so nguyen to cung nhau')
    else
    writeln('a va b khong la 2 so nguyen to cung nhau');
    readln;
    end.

    Trả lờiXóa
  3. function snt(n:longint):longint;
    var
    i,d:longint;
    begin
    d:=0;
    for i:=1 to n do
    if n mod i=0 then
    d:=d+1;
    snt:=d;
    end;
    function tcs(n:longint):longint;
    var
    a,b,i,d:longint;
    begin
    b:=0;d:=0;
    while n>0 do
    begin
    a:=n mod 10;
    n:=n div 10;
    b:=b+a;
    end;
    for i:=1 to b do
    if b mod i=0 do
    d:=d+1;
    tcs:=d;
    end;
    var
    n,i:longint;
    begin
    readln(n);
    if (snt(n)=2) and (tcs(n)=2) then
    writeln('so dep')
    else
    writeln('khong la so dep');
    for i:=1 to n do
    if (snt(i)=2) and (tcs(i)=2) then
    write(i,' ');
    readln;
    end.

    Trả lờiXóa
    Trả lời
    1. Bài 6: Số đẹp
      Giải thích
      snt: hàm kiểm tra số nguyên tố (tự tạo)
      tcs: hàm kiểm tra tổng các chữ số của n là số nguyên tố (tự tạo)

      Xóa
    2. Đúng rồi đó em. Phát huy nhé.
      Nhưng góp ý cho em một chút nhé: hàm thứ 2 chỉ cần tính tổng các chữ số của n thôi. sau đó ở chương trình chính em suy nghĩ tiếp nhé....

      Xóa
  4. Bài 6: Cách 2
    function snt(n:longint):longint;
    var
    i,d:longint;
    begin
    d:=0;
    for i:=1 to n do
    if n mod i=0 then
    d:=d+1;
    snt:=d;
    end;
    function tcs(n:longint):longint;
    var
    a,b:longint;
    begin
    b:=0;
    while n>0 do
    begin
    a:=n mod 10;
    n:=n div 10;
    b:=b+a;
    end;
    tcs:=b;
    end;
    var
    n,i:longint;
    begin
    readln(n);
    if (snt(n)=2) and (snt(tcs(n))=2) then
    writeln('so dep')
    else
    writeln('khong la so dep');
    for i:=1 to n do
    if (snt(i)=2) and (snt(tcs(i))=2) then
    write(i,' ');
    readln;
    end.

    Trả lờiXóa