Nhập vào 1 số nguyên gồm 4 chữ số viết chương trình con thực hiện các công việc sau

a, kiểm tra tính chẵn lẻ

b, kiểm tra số đó có phải là số nguyên tố hay không

c, kiểm tra số đó có phải là số chính phương hay không

d, kiểm tra số đó có phải là số hoàn hảo hay không

Mong mọi người giúp em giải ạ

2 câu trả lời

#minh gửi code c++ nhá 

#nếu không hiểu có thể cmt cho mình nhá 

#nhớ vote cho mình 5 sao và tym , ctlhn nhá 

#include <bits/stdc++.h>
using namespace std;
int snt(int n)
{
    if(n<2)
        return 0;
    for(int i=2; i<=sqrt(n); i++)
        if(n%i==0)
            return 0;
    return 1;
}
void chanle(int a[],int n)
{
    for(int i=1; i<=n; i++)
    {
        if(a[i]%2==0)
            cout<<"chan"<<" ";
        else
            cout<<"le"<<" ";
    }
    cout<<endl;
    cout<<endl;
}
int scp(int n)
{
    int s=sqrt(n);
    return (s*s==n);
}
int sohoanhao(int n)
{
    int flag=0, total=0;
    for(int i=1; i<n; i++)
    {
        if(n%i==0)
            total+=i;
    }
    if(total==n && n!=0)
        flag=1;
    return flag;
}
int a[10000];
int main()
{
    int n;
    cin>>n;
    for(int i=1; i<=n; i++)
        cin>>a[i];
    chanle(a,n);
    for(int i=1; i<=n; i++)
    {
        if(snt(a[i]))
            cout<<"0"<<" "; //0 la so nguyen to
        else
            cout<<"1"<<" "; //1 khong la so nguyen to
    }
    cout<<endl;
    cout<<endl;
    for(int i=1; i<=n; i++)
    {
        if(scp(a[i]))
            cout<<"la so chinh phuong"<<endl;
        else
            cout<<"khong la so chinh phuong"<<endl;
    }
    cout<<endl;
    for(int i=1; i<=n; i++)
    {
        if(sohoanhao(a[i]))
            cout<<"la so hoan hao"<<endl;
        else
            cout<<"khong la so hoan hao"<<endl;
    }


}

uses crt;

var n,i:integer;

      ok: boolean;

BEGIN

clrscr;

write('Nhap n: ');  readln(n);

if n mod 2=0 then writeln('So ',n,' la so chan')

else writeln('So ',n,' la so le');

if n<2 then write('So ',n,' Khong la so Nguyen to')

else

begin

ok:=true;

for i:=2 to trunc(sqrt(n)) do

if n mod i=0 then

ok:=false;

if ok then

writeln('So ',n,' la so nguyen to')

else

writeln('So ',n,' khong la so nguyen to');

end;

readln;

END.

Câu hỏi trong lớp Xem thêm