Sử dụng phương pháp làm mịn dần để giải bài toán sau: Cho trước số tự nhiên không âm n, viết chương trình kiểm tra xem số n có phải là số nguyên tố hay không? Chương trình cần thông báo "CÓ" nếu n là số nguyên tế, ngược lại thông báo "KHÔNG".
1) mô tả thuật toán và viết chương trình kiểm tra một số tự nhiên n nhập vào từ bàn phím có phải là số nguyên tố hay không?
Câu 1:
*Mô tả thuật toán:
Bước 1: Nhập n
Bước 2: kt←0; i←2;
Bước 3: Nếu n chia hết cho i thì kt←1;
Bước 4: i←i+1;
Bước 5: Nếu i<=n thì quay lại bước 3
Bước 6: Nếu kt=0 thì n là số nguyên tố
không thì không phải
Bước 7: Kết thúc
*Mô tả thuật toán:
Bước 1: Nhập n
Bước 2: kt←0; i←2;
Bước 3: Nếu n chia hết cho i thì kt←1;
Bước 4: i←i+1;
Bước 5: Nếu i<=n thì quay lại bước 3
Bước 6: Nếu kt=0 thì n là số nguyên tố
không thì không phải
Bước 7: Kết thúc
Câu 1:
uses crt;
var kt,n,i:integer;
begin
clrscr;
write('Nhap n='); readln(n);
kt:=0;
for i:=2 to n-1 do
if n mod i=0 then kt:=1;
if (kt=0) and (n>1) then writeln(n,' la so nguyen to')
else writeln(n,' khong la so nguyen to');
readln;
end.
Sử dụng Python để Viết chương trình cho người dùng nhập vào số nguyên dương n, rồi kiểm tra các số nhập vào có phải là số nguyên tố hay không? Và đếm xem có bao nhiêu số nguyên tố được nhập vào thì in ra màn hình.
Cho dãy số A = A[0], A[1]. .... A[n — 1]. Thiết kế và viết chương trình kiểm tra trong dãy A có hai phân tử nào trùng nhau hay không. Cần đưa ra câu trả lời là “có” hay “không”. Yêu cầu đưa ra quy trình thiết kế theo phương pháp làm mịn dần.
Bước 1: Xác định đầu vào và đầu ra của chương trình.
Đầu vào: Dãy số A gồm n phần tử (A[0], A[1], ..., A[n-1]).
Đầu ra: Một câu trả lời là "có" nếu trong dãy A có hai phần tử trùng nhau, hoặc "không" nếu không có.
Bước 2: Xác định giải thuật kiểm tra trùng nhau.
Giải thuật đơn giản nhất là duyệt qua từng phần tử của dãy A, so sánh nó với các phần tử trước đó trong dãy để tìm kiếm phần tử trùng nhau.
Bước 3: Thiết kế mã nguồn chương trình.
Sử dụng một vòng lặp for để duyệt qua từng phần tử của dãy A từ đầu đến cuối.
Trong mỗi lần lặp, so sánh phần tử hiện tại (A[i]) với các phần tử trước đó (A[0], A[1], ..., A[i-1]) để kiểm tra xem có phần tử trùng nhau hay không.
Nếu tìm thấy phần tử trùng nhau, đưa ra kết quả là "có" và kết thúc chương trình.
Nếu không tìm thấy phần tử trùng nhau sau khi đã duyệt qua toàn bộ dãy A, đưa ra kết quả là "không".
def check_duplicate(A):
for i in range(len(A)):
for j in range(i + 1, len(A)):
if A[i] == A[j]:
return "có"
return "không"
# Đầu vào: Dãy số A
A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Gọi hàm để kiểm tra
result = check_duplicate(A)
# Đầu ra: Kết quả kiểm tra
print(result)
viết chương trình nhập vào 1 số tự nhiên kiểm tra xem n có phải là số nguyên tố hay khong
#include <bits/stdc++.h>
using namespace std;
bool ktsnt(long long n)
{
long long i;
if(n<2) return false;
else
{
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
return false;
return true;
}
}
long long cnt;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin>>cnt;
if(ktsnt(cnt)==true)
cout<<"YES";
else
cout<<"NO";
return 0;
}
var i,n,dem:integer;
begin
write('Nhap n = ');readln(n);
for i:=1 to n do
begin
if n mod i = 0 then dem:=dem+1;
end;
if dem = 2 then write(n,' la so nguyen to')
else write(n,' khong la so nguyen to');
readln;
end.
1)viết chương trình xuất ra các bội số của B trong phạm vị từ 1 đến N, với giá trị B, N được nhập vào từ bàn phím
2) nhập số nguyên n, viết chương trình xem số n có phải là số nguyên tố không
3)viết chương trình kiểm tra C có phải số hoàn hảo hay không
2:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,i,kt=0;
cin>>n;
for (int i=2; i*i<=n; i++)
if (n%i==0) kt=1;
if (kt==0) cout<<"YES";
else cout<<"NO";
}
viết chương trình nhập số tự nhiên N từ bàn phím , kiểm tra số N đó có phải là số nguyên tố không ?
Uses crt;
var n,i,z: integer;
begin clrscr;
readln(n);
for i:=1 to n do if(n mod i=0) then z:=z+1;
if(z=2) then writeln(z,' la so nguyen to')
else writeln(z,' khong phai la so nguyen to');
readln;
end.
program PrimeNumber;
uses crt;
var
N, i: integer;
isPrime: boolean;
begin
clrscr;
write('Enter N: ');
readln(N);
if N <= 1 then
begin
writeln('N is not a prime number');
end
else
begin
isPrime := true;
for i := 2 to trunc(sqrt(N)) do
begin
if N mod i = 0 then
begin
isPrime := false;
break;
end;
end;
if isPrime then
begin
writeln('N is a prime number');
end
else
begin
writeln('N is not a prime number');
end;
end;
readln;
end.
Bài 5: Cho số nguyên dương N (N ≤ 1000000). Hãy kiểm tra xem số N có phải là số nguyên tố không? Đưa ra thông báo “YES” nếu N là số nguyên tố, trường hợp ngược lại thì đưa ra thông báo “NO”. Số nguyên tố là số tự nhiên có duy nhất hai ước là 1 và chính nó. Ví dụ: 7 là số nguyên tố vì 7 có đúng 2 ước là 1 và 7, số 8 không là số nguyên tố vì 8 có nhiều hơn 2 ước là 1, 2, 4 và 8. viết bằng c++ ạ
#include <bits/stdc++.h>
using namespace std;
long long n,i;
bool kt;
int main()
{
cin>>n;
kt=true;
for (i=2; i*i<=n; i++)
if (n%i==0) kt=false;
if ((kt==true) and (n>1)) cout<<"YES";
else cout<<"NO";
return 0;
}
Viết chương trình nhập một mảng gồm n số nguyên (n<= 100). Hãy đưa ra các thông tin sau:a. Tổng số lẻ trong mảng và in ra các số lẻ đó.b. kiểm tra xem tổng đó có phải là số nguyên tố hay không?
uses crt;
var i,n,s: integer;
a:array[1..100] of integer;
begin
writeln('Nhap n: '); read(n);
for i:=1 to n do
begin
write('a[',i,'] = '); readln(a[i]);
end;
writeln('Cac so le: ')
s:=0;
for i:=1 to n do
if a[i] mod 2 <> 0 then
begin
s:=s+a[i];
write(a[i],' ');
end;
writeln('- Tong so le: ',s);
for i:=1 to trunc(sqrt(s)) do if s mod i = 0 then d:=d+1;
if d > 1 then writeln('Tong do khong la so nguyen to') else writeln('Tong do la so nguyen to');
readln
end.
Viết chương trình nhập vào từ bàn phím số nguyên a, sử dụng câu lệnh điều kiện để kiểm tra xem a có chia hết cho 3 hoặc 5 hay không, thông báo ra màn hình.