Cho số tự nhiên n. Hãy tính tổng các ước số nguyên tố của n!
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
uses crt;
var i,n,t,j,kt:integer;
begin
clrscr;
readln(n);
t:=0;
for i:=2 to n do
if n mod i=0 then
begin
kt:=0;
for j:=2 to trunc(sqrt(i)) do
if i mod j=0 then kt:=1;
if kt=0 then t:=t+i;
end;
write(t);
readln;
end.
Dưới đây là một ví dụ về chương trình Pascal để tính tổng các ước số nguyên tố của một số tự nhiên n:
```pascal
program TinhTongUocSoNguyenTo;
var
n, i, j, sum: integer;
isPrime: boolean;
begin
write('Nhap vao so tu nhien n: ');
readln(n);
sum := 0;
for i := 1 to n do
begin
if n mod i = 0 then // Kiểm tra i có là ước số của n không
begin
isPrime := true;
for j := 2 to trunc(sqrt(i)) do // Kiểm tra i có phải là số nguyên tố không begin if i mod j = 0 then begin isPrime := false; break; end; end; if isPrime then // Nếu i là số nguyên tố, cộng vào tổng sum := sum + i; end;
end;
writeln('Tong cac uoc so nguyen to cua ', n, ' la: ', sum);
end.
```
Chương trình trên sẽ yêu cầu bạn nhập vào số tự nhiên n, sau đó tính tổng các ước số nguyên tố của n và hiển thị kết quả.
1:
uses crt;
var i,j,t,kt:integer;
begin
clrscr;
t:=0;
for i:=1 to 100 do
if i>1 then
begin
kt:=0;
for j:=2 to i-1 do
if i mod j=0 then kt:=1;
if kt=0 then t:=t+i;
end;
writeln(t);
readln;
end.
Câu 2:
*Viết chương trình:
uses crt;
var n,p,t:integer;
begin
clrscr;
write('Nhap n='); readln(n);
t:=0;
for p:=2 to n-1 do
if n mod p=0 then t:=t+p;
writeln('Tong cac uoc that su cua ',n,' la: ',t);
readln;
end.
Bài 1. Tìm ƯCLN \((2n+1;\ 9n+5)\), với \(n\in\mathbb N\)
Gọi \(d=\operatorname{ƯCLN}(2n+1;\ 9n+5)\).
Vì \(d\) là ước chung của \(2n+1\) và \(9n+5\), nên:
- \(d\mid (2n+1)\)
- \(d\mid (9n+5)\)
Suy ra:
\(d\mid [9n+5-4(2n+1)]\)
\(d\mid (n+1)\)
Mặt khác:
\(d\mid [(2n+1)-2(n+1)]\)
\(d\mid (-1)\)
Vậy \(d=1\).
Kết luận: ƯCLN \((2n+1;\ 9n+5)=1\).
Bài 2. Tìm số nguyên tố \(p\) sao cho \(p+4,\ p+10,\ p+14\) đều là số nguyên tố.
Nếu \(p=2\), thì \(p+4=6\) không phải số nguyên tố.
Nếu \(p=3\), ta có \(p+4=7,\ p+10=13,\ p+14=17\), đều là số nguyên tố.
Xét \(p>3\). Vì \(p\) là số nguyên tố nên \(p\) không chia hết cho 3.
Khi chia \(p\) cho 3, ta có hai trường hợp:
- Nếu \(p\) chia 3 dư 1 thì \(p+14\) chia hết cho 3.
- Nếu \(p\) chia 3 dư 2 thì \(p+4\) chia hết cho 3.
Các số \(p+4\) và \(p+14\) đều lớn hơn 3 nên nếu chia hết cho 3 thì không phải số nguyên tố.
Vậy chỉ có \(p=3\) thỏa mãn.
Kết luận: \(p=3\).
program bai_1;
uses crt;
var i,n,j,d,dem:word;
begin
clrscr;
repeat
write('nhap n:');readln(n);
if (n<=0)or(n>=10000)then writeln('so ban nhap khong hop le, ban hay nhap lai:');
until (n>0)and(n<10000);
writeln('cac uoc so la so tu nhien cua ',n,' la:');
for i:=1 to n do
if n mod i=0 then write(i,' ');
writeln;
dem:=0;
for i:=2 to n do
begin
d:=0;
for j:=2 to i div 2 do
if i mod j=0 then inc(d);
if (d=0)and(n mod i=0)then inc(dem);
end;
if dem>0 then writeln('cac uoc so la so nguyen to cua ',n,' la:');
begin
d:=0;
for j:=2 to i div 2 do
if i mod j=0 then inc(d);
if (d=0)and(n mod i=0)then write(i,' ');
end;
if dem=0 then write(0);
readln;
end.
uses crt;
var i,n,m,k,d:integer;
{---------------chuong-trinh-con-tim-ucln--------------------}
function ucln(x,y:integer):integer;
var t:integer;
begin
while y<>0 do
begin
t:=x mod y;
x:=y;
y:=t;
end;
ucln:=x;
end;
{------------chuong-trinh-con-kiem-tra-so-nguyen-to-------------------}
function nt(b:longint):boolean;
var j:longint;
begin
nt:=true;
if (b=2) or (b=3) then exit;
nt:=false;
if (b=1) or (b mod 2=0) or (b mod 3=0) then exit;
j:=5;
while j<=trunc(sqrt(b)) do
begin
if (b mod j=0) or (b mod (j+2)=0) then exit;
j:=j+6;
end;
nt:=true;
end;
{---------------chuong-trinh-chinh---------------------}
begin
clrscr;
write('Nhap N: '); readln(N);
write('Nhap M: '); readln(M);
d:=0;
k:=ucln(N,M);
for i:=1 to k do
if nt(i) then d:=d+1;
if d>0 then writeln('2 so nay tuong duong voi nhau')
else writeln('2 so nay khong tuong duong voi nhau');
readln;
end.
uses crt;
var i,n,m:integer;
a,b:array[1..100]of integer;
function nt(n:integer):boolean;
begin
if n<2 then nt:=false;
for i:=2 to n div 2 do
if n mod i=0 then nt:=false;
end;
function nttd(n,m:integer):boolean;
var i,j,k,d,dem,s:integer;
a,b:array[1..100]of integer;
begin
nttd:=false;
d:=0;
for j:=1 to n do
if (nt(j))and(n mod j=0) then
begin
inc(d);
a[d]:=j;
end;
dem:=0;
for k:=1 to n do
if (nt(k))and(m mod k=0) then
begin
inc(dem);
b[dem]:=k;
end;
s:=0;
if d=dem then for i:=1 to d do if a[i]=b[i] then
inc(s);
if s=d then nttd:=true else nttd:=false;
end;
BEGIN
clrscr;
write('nhap n,m:');readln(n,m);
if nttd(n,m) then writeln(n,' va ',m,' la nguyen to tuong duong')
else writeln(n,' va ',m,' khong phai la nguyen to tuong duong');
readln;
END.
#include <bits/stdc++.h>
using namespace std;
long long n,i,t,j;
bool kt;
int main()
{
cin>>n;
for (i=2; i<=n; i++)
{
kt=true;
for (j=2; j*j<=i; j++)
if (i%j==0) kt=false;
if (kt==true) cout<<i<<" ";
}
cout<<endl;
t=0;
for (i=1; i<=n; i++)
if (n%i==0) t+=i;
cout<<t;
return 0;
}
n=p.q
mà p;q là các số nguyên tố
=>Ư(n)={1;p;q;n)
=>n=1+p+q=pq
=>1+q=pq-p
=>1+q=p(q-1)
=>2+q-1=p(q-1)
=>p(q-1)-(q-1)=2
=>(p-1)(q-1)=2
2=1.2
=>p-1=1 hoặc p-1=2
p-1=1=>p=2;q-1=2=>p=3
=>n=3+2+1=6
p-1=2=>p=3;q-1=1=>q=2
=>n=3+2+1=6
Vậy n=6
uses crt;
var n,i,s,kt,j,t:longint;
begin
clrscr;
write('Nhap n='); readln(n);
s:=1;
for i:=1 to n do
s:=s*i;
t:=0;
for i:=2 to s do
if s mod i=0 then
begin
kt:=0;
for j:=2 to i-1 do
if i mod j=0 then kt:=1;
if kt=0 then t:=t+i;
end;
writeln('Tong cac uoc nguyen to cua n,'! la: ',t);
readln;
end.
ta dinh nghia nhu sau
n!=n*(n-1)*(n-2)*...*1;
vs 4!=1*2*3*4;
vi the ban chi can tinh tong cac so nguyen to tu 1 den n thoi
ko can tinh n! lam j cho mat tg ,do phuc tap la O(n) nhe