Bài tập  /  Bài đang cần trả lời

Ước thực sự của số tự nhiên N là ước khác 1 và chính nó. Hai số được gọi là anh em nếu chúng có tổng các ước thực sự bằng nhau

Bài 1. Số anh em
Ước thực sự của số tự nhiên N là ước khác 1 và chính nó. Hai số được gọi là anh em nếu
chúng có tổng các ước thực sự bằng nhau.
Ví dụ: 6 và 25 được gọi là hai số anh em vì các ước thực sự của 6 là 2 và 3 có tổng bằng 5
và các ước thực sự của 25 là 5 có tổng là 5.
Yêu cầu: Viết chương trình để kiểm tra hai số có phải là hai số anh em không?
Dữ liệu: Vào từ tệp văn bản BROTHERNUM.INP gồm:
 Dòng đầu tiên chứa số nguyên dương T- số bộ dữ liệu cần kiểm tra; (1 ≤ T ≤ 104)
 T dòng tiếp theo, mỗi dòng chứa hai số nguyên dương M và N được viết cách nhau ít nhất
một dấu cách. (1 ≤ M, N ≤ 104).
Kết quả: Ghi ra tệp văn bản BROTHERNUM.OUT gồm T dòng, trên mỗi dòng ghi xâu ‘YES’
nếu M, N là hai số anh em, ngược lại ghi ra xâu ‘NO’.
Ví dụ:
BROTHERNUM.INPBROTHERNUM.OUT
3
6 25
10 13
15 20YES
NO
NO
Ràng buộc:
 Có 30% số test ứng với 30% số điểm của bài có 1 ≤ T ≤ 102;
 Có 30% số test ứng với 30% số điểm của bài có 102 ≤ T ≤ 103;
 Có 40% số test ứng với 40 % số điểm của bài có 103 ≤ T ≤ 104.
Bài 2. Đếm kí tự chữ số
Cho xâu S khác rỗng chỉ bao gồm các kí tự chữ cái, chữ số.
Yêu cầu: Đếm số lượng các chữ số xuất hiện trong xâu, sắp xếp các chữ số theo thứ tự giảm dần.
Dữ liệu: Vào từ tệp văn bản COUNTCHAR.INP gồm một dòng duy nhất chứa xâu S.
Kết quả: Ghi ra tệp văn bản COUNTCHAR.OUT gồm 2 dòng:
 Dòng 1: số lượng các chữ số xuất hiện trong xâu S.
 Dòng 2: các chữ số trong xâu S được sắp xếp theo thứ tự giảm dần.
Trang 2
Ví dụ:
COUNTCHAR.INPCOUNTCHAR.OUT
abc6gtk25gh3
652
Ràng buộc:
 Có 30% số test ứng với 30% số điểm của bài có độ dài xâu S không quá 102 kí tự.
 Có 30% số test ứng với 30% số điểm của bài có độ dài xâu S không quá 103 kí tự.
 Có 40% số test ứng với 40% số điểm của bài có độ dài xâu S không quá 104 kí tự.
Bài 3. Dãy số nguyên tố
Cho dãy A gồm N số nguyên A1, A2, …, AN và một số nguyên K.
Yêu cầu: Tìm K số nguyên tố nhỏ nhất khác nhau xuất hiện trong dãy A.
Dữ liệu: Vào từ tệp văn bản KPRIME.INP có cấu trúc như sau:
 Dòng đầu tiên chứa 2 số nguyên N, K (1 ≤ N ≤ 105, 1 ≤ K ≤ 200) Các số được viết cách
nhau bởi dấu cách.
 N dòng tiếp theo, mỗi dòng chứa một phần tử của dãy A. (1 ≤ Ai ≤ 106)
Kết quả: Ghi ra tệp văn bản KPRIME.OUT Đưa ra trên cùng một dòng K số nguyên tố tìm được
theo thứ tự tăng dần, các số được viết cách nhau một dấu cách.
Lưu ý: Dữ liệu vào đảm bảo luôn tìm được K số nguyên tố thỏa mãn.
Ví dụ:
KPRIME.INPKPRIME.OUT
8 3
12
13
6
17
9 3 1
123 13 17
Ràng buộc:
 Có 40% số test ứng với 40% số điểm của bài có 1 ≤ N ≤ 103;
 Có 30% số test ứng với 30% số điểm của bài có 103 ≤ N ≤ 104;
 Có 30% số test ứng với 30% số điểm của bài có 104 ≤ N ≤ 105
 
3 trả lời
Hỏi chi tiết
264
1
2
Khánh
01/06/2023 16:59:41
+5đ tặng
  • keyy
  • 17/11/2019

Program BTT;
Uses crt;
Var a,b: longint;

Function TongUTS(a:longint):longint;
Var t,i: longint;
Begin
        t:=0;
        For i:=2 to a div 2 do
                If a mod i = 0 then t:=t+i;
        TongUTS:=t;
End;

Begin
        Clrscr;
        Write('Nhap 2 so bat ki: '); Readln(a,b);
        If TongUTS(a)=TongUTS(b) then Write('La hai so anh em')
        Else Write('Khong phai hai so anh em');
        Readln
End.

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
0
0
Dannz
07/06/2023 21:27:22
Câu 1
function sumDivisors(n: longint): longint;
var
  i: longint;
begin
  sumDivisors := 0;
  for i := 2 to trunc(sqrt(n)) do
    if n mod i = 0 then
      if i = n div i then
        sumDivisors := sumDivisors + i
      else
        sumDivisors := sumDivisors + i + n div i;
end;

function areSiblings(a, b: longint): boolean;
begin
  areSiblings := sumDivisors(a) = sumDivisors(b);
end;

var
  a, b: longint;
begin
  readln(a, b);
  if areSiblings(a, b) then
    writeln('YES')
  else
    writeln('NO');
end.
 
0
0
Mn Hào Hiệp
08/06/2023 21:31:54
Bài 1:
#include<bits/stdc++.h>
#define FI(n,nn) for(int i=n;i<nn;i++)
#define FJ(m,mm) for(int j=m;j<mm;j++)
#define cl(n) cout<<n<<endl
#define c_(n) cout<<n<<" ";
#define name "BROTHERNUM"
#define f first
#define s second
#define pb push_back
#define ph push
#define ll long long
#define INF 200005
#define db double
#define ud unsigned
#define End "\n"
#define _ " "
using namespace std;
int T,N,M;

int t_uoc(int n){
    int sum=0;
    for(int i=2;i<=sqrt(n);i++){
        if(n%i==0){
            sum+=i;
            if(i!=n/i) sum+=n/i;
        }
    }
    return sum;
}

int main(){
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    freopen(name".INP","r",stdin);
    freopen(name".OUT","w",stdout);
    cin>>T;
    FI(1,T+1){
        cin>>M>>N;
        if(t_uoc(M)==t_uoc(N)) 
            cout<<"YES"<<End; 
        else 
            cout<<"NO"<<End;
    }
    
    return 0;
}
Bài 2:
#include<bits/stdc++.h>
#define FI(n,nn) for(int i=n;i<nn;i++)
#define FJ(m,mm) for(int j=m;j<mm;j++)
#define cl(n) cout<<n<<endl
#define c_(n) cout<<n<<" ";
#define name "COUNTCHAR"
#define f first
#define s second
#define pb push_back
#define ph push
#define ll long long
#define INF 200005
#define db double
#define ud unsigned
#define End "\n"
#define _ " "
using namespace std;
string s; vector<int> vt;



int main(){
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    freopen(name".INP","r",stdin);
    freopen(name".OUT","w",stdout);
    cin>>s;
    FI(0,s.size()){
        if(s[i]>='0' && s[i]<='9'){
            vt.pb(s[i]-'0');
        }
    }
    sort(vt.begin(),vt.end(),greater<>());
    cout<<vt.size()<<End;
    for(auto x : vt) cout<<x;
    return 0;
}
Bài 3:
#include<bits/stdc++.h>
#define FI(n,nn) for(int i=n;i<nn;i++)
#define FJ(m,mm) for(int j=m;j<mm;j++)
#define cl(n) cout<<n<<endl
#define c_(n) cout<<n<<" ";
#define name "KPRIME"
#define f first
#define s second
#define pb push_back
#define ph push
#define ll long long
#define INF 200005
#define db double
#define ud unsigned
#define End "\n"
#define _ " "
using namespace std;
int n,k,a[100005]; bool kt[1000006]; vector<int> vt;

void snt(int n){
    kt[0]=kt[1]=true;
    for(int i=2;i*i<=n;i++){
        for(int j=i*2;j*j<=n;j+=i){
            kt[j]=true;
        }
    }
}


int main(){
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    freopen(name".INP","r",stdin);
    freopen(name".OUT","w",stdout);
    cin>>n>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    int i=0; snt(1000000);
    while(k!=0){
        i++;
        if(!kt[a[i]]){
            vt.pb(a[i]);
            k--;
        }
    }
    sort(vt.begin(),vt.end());
    for(auto x : vt) cout<<x<<" ";    
    return 0;
}

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập liên quan

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo