mình chỉ làm được bài 1, 3, 4 nha bạn
Bài 1
#include <stdio.h>
unsigned long main()
{
unsigned long n;
int i2=0,j2,t2,a2[100];
do {
printf("Nhap so nguyen duong N:");
scanf("%lu",&n);
}
while ((n>(unsigned long)n)||(n<0));
i2=0;
do {
a2[i2]=n%2;
n=n/2;
i2++;
}
while (n!=0);
printf("\nSo N o he 2 la: ");
t2=i2-1;
for (j2=t2;j2>=0;j2--)
printf("%d",a2[j2]);
}
Bài 2 mình quên mất cách làm rồi
Bài 3
#include "stdio.h"
#include "conio.h"
void main()
{
int N;
int i, j, sum;
do
{
printf("\n Nhap vao so N = ");
scanf("%d", &N);
}
while(N <= 0);
for(i = 2; i <= N; i++)
{
sum = 1;
for(j = 2; j <= i/2; j++)
{
if(i%j == 0)
sum += j;
}
if(sum == i)
printf("\n %d", i);
}
getch();
}
Bài 4
#include <iostream>
#include <stdlib.h>
using namespace std;
/*
####################################################################
# Tim thu khi biet ngay thang nam #
####################################################################
*/
// Kiem tra ngay hop le
bool check_date(int day, int month){
if ((month==2) && (day>0) && (day<30)){
return true;
}
if ((
(month==1) ||
(month==3) ||
(month==5) ||
(month==7) ||
(month==8) ||
(month==10)||
(month==12)
) && ((day>0) && (day<32)))
{
return true;
}
if ((
(month==4) ||
(month==6) ||
(month==9) ||
(month==11)
) && ((day>0) && (day<31)))
{
return true;
}
return false;
}
// Kiem tra thang hop le
bool check_month(int month){
if ((month>0) && (month<13)){
return true;
}else{
return false;
}
}
// Kiem tra nam hop le
bool check_year(int year){
if ((year>999) && (year < 10000)){
return true;
}else{
return false;
}
}
// Kiem tra nam nhuan
bool check_leap_year(int year){
if (((year % 4)==0) && ((year % 100)!=0)){
return true;
}else if ((year % 400)==0){
return true;
}else {
return false;
}
}
// Tim chính xác thu theo ngày tháng nam dã biêt
//
//
const char *get_day(int day, int month, int year){
int JMD;
JMD = (day + ((153 * (month + 12 * ((14 - month) / 12) - 3) + 2) / 5) +
(365 * (year + 4800 - ((14 - month) / 12))) +
((year + 4800 - ((14 - month) / 12)) / 4) -
((year + 4800 - ((14 - month) / 12)) / 100) +
((year + 4800 - ((14 - month) / 12)) / 400) - 32045) % 7;
//cout << JMD;
const char *weekday[] = {"Thu 2",
"Thu 3",
"Thu 4",
"Thu 5",
"Thu 6",
"Thu 7",
"Chu nhat"};
return weekday[JMD];
}
main(){
// Khai bao bien
int year, month, date, x, y;
cout << "\n[+] CHUONG TRINH TINH THU KHI BIET NGAY THANG NAM.";
// Take Inputs
cout << "\n[+] Vui long nhap nam [YYYY] : ";
cin >> year;
// cout << "\n[+] Kiem tra [YYYY] : ";
// verify year
if (check_year(year)){
cout << "[-] Xac nhan!";
}else{
cout << "\n\t [-] Nhap sai!\n";
exit(0);
}
cout << "\n[+] Vui long nhap thang [MM] : ";
cin >> month;
// verify month
if (check_month(month)){
cout << "[-] Xac nhan!";
}else{
cout << "[-] Nhap sai!";
exit(0);
}
cout << "\n[+] Vui long nhap ngay [DD] : ";
cin >> date;
// verify date
if (check_date(date, month)){
cout << "[-] Xac nhan!\n\n";
}else{
cout << "[-] Nhap sai!";
exit(0);
}
cout << "[+] Ngay : " << date << ", Thang : " << month << ", Nam : " << year << " [ ";
if (check_leap_year(year)){
cout << "Nam nhuan" << " ]";
}else{
cout << "Khong phai nam nhuan" << " ]";
}
cout << "\n[-] Ngay trong tuan: ";
cout << get_day(date, month, year);
cout << "\n\n";
}