You are on page 1of 8

Đã bắt đầu vào Thứ tư, 8 Tháng mười một 2023, 1:53 PM

lúc
Tình trạng Đã hoàn thành
Hoàn thành vào Thứ tư, 8 Tháng mười một 2023, 3:52 PM
lúc
Thời gian thực 1 giờ 58 phút
hiện
Điểm 6,00/6,00
Điểm 10,00 của 10,00 (100%)
Câu hỏi 1
Chính xác

Điểm 1,00 của 1,00

Hoàn thiện int calDays(int day, int month, int year) truyền vào ngày ngày, tháng, năm. Tính xem ngày đó là ngày thứ bao nhiêu trong năm.

Lưu ý: Trường hợp ngày truyền vào không hợp lệ, hàm sẽ trả về giá trị -1 và những năm nhập vào phải là năm có giá trị > 0.

For example:

Test Result

printf("%d", callDays(10, 1, 2021)); 10

Answer: (penalty regime: 0 %)


1 #include<stdio.h>
2 int nhuan(int y)
3 ▼ {
4 return ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0);
5 }
6 int callDaysinmonth(int day, int month, int year)
7 ▼ {
8 if (day<1|| day>31||year <=0)
9 return -1;
10 switch (month)
11 ▼ {
12 case 1:
13 case 3:
14 case 5:
15 case 7:
16 case 8:
17 case 10:
18 case 12:
19 return 31;
20 case 2:
21 if(nhuan(year))
22 return 29;
23 else
24 return 28;
25 case 4:
26 case 6:
27 case 9:
28 case 11:
29 return 30;
30 default:
31 return 0;
32 }
33 }
34 ▼ int callDays(int day, int month, int year){
35 int dim= 0;
36 ▼ if (day < 1 || day > 31 || year <= 0){
37 return -1;
38 }
39 ▼ else if (month == 2){
40 ▼ if (nhuan(year)){
41 if(day > 29)
42
43 return -1;
44 }
45 ▼ else {
46 if (day>28)
47 return -1;
48 }
49 }
50 for(int i = 1; i < month; i++)
51 ▼ {
52 dim += callDaysinmonth( day, i, year);
53 }
54 dim += day;
55 return dim;
56
57 }
}

Test Expected Got

 printf("%d", callDays(10, 1, 2021)); 10 10 

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.

Câu hỏi 2
Chính xác

Điểm 1,00 của 1,00

Hiện thực hàm long callMul(int n) nhận vào 1 số nguyên dương n, tính giá trị của biểu thức S = 1^1 + 2^2 + 3^3 + 4^4 +...+ n^n và trả về
kết quả.

For example:

Test Result

printf("%ld", callMul(3)); 32

Answer: (penalty regime: 0 %)

Reset answer

1 ▼ long callMul(int n){


2 int S = 0;
3 ▼ for(int i = 1; i <= n;i++){
4 int q = 1;
5 for (int j = 1;j <= i;j++)
6 q = q * i;
7 S = S + q;
8 }
9 return S;
10 }

Test Expected Got

 printf("%ld", callMul(3)); 32 32 

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.
Câu hỏi 3
Chính xác

Điểm 1,00 của 1,00

Hiện thực hàm int findMax(int N) nhận vào 1 số nguyên dương N, tính toán và trả số nguyên dương m lớn nhất sao cho 0 + 1 + 2 + … + m
<N

For example:

Test Result

int N = 2; 1
printf("%d", findMax(N));

Answer: (penalty regime: 0 %)

Reset answer

1 ▼ int findMax(int N){


2 int sum = 0;
3 int m = 0;
4 ▼ // if( N==1 ){
5 //return 0;}
6 ▼ do{
7 m = m + 1;
8 sum = sum + m;
9 } while (sum + m + 1 < N);
10 return m;
11
12 }

Test Expected Got

 int N = 2; 1 1 
printf("%d", findMax(N));

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.
Câu hỏi 4
Chính xác

Điểm 1,00 của 1,00

Viết hàm getPower(int x, int y) xác định giá trị của x^y (với x và y là 2 số thực không âm và x*y khác 0).

For example:

Test Input Result

int x = 2, y = 3; 2 3 8
printf("%d\n", getPower(x, y));

Answer: (penalty regime: 0 %)


1 ▼ int getPower(float x,float y){
2 int kq = 1;
3 for (int i = 1; i <= y; i++)
4 kq = kq * x;
5 return kq;
6 }

Test Input Expected Got

 int x = 2, y = 3; 2 3 8 8 
printf("%d\n", getPower(x, y));

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.
Câu hỏi 5
Chính xác

Điểm 1,00 của 1,00

Hiện thực hàm void printSquare(int n) để in ra màn hình các số chính phương từ 1 đến n.

For example:

Test Result

printSquare(5); 1 4

Answer: (penalty regime: 0 %)


1 ▼ void printSquare(int n){
2 int x;
3 for (int i = 1; i <= n; i++)
4 ▼ {
5 for (x = 1; x <= i; x++)
6 ▼ {
7 if (x*x == i)
8 printf("%d ",i);
9 }
10 }
11 }

Test Expected Got

 printSquare(5); 1 4 1 4 

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.
Câu hỏi 6
Chính xác

Điểm 1,00 của 1,00

Hiện thực 2 hàm sau:

Hiện thực hàm int UCLC(int *a, int *b) để tìm ước chung lớn nhất của 2 số a và b nhưng vẫn giữ nguyên giá trị của a và b.
Hiện thực hàm int BCNN(int *a, int *b) để tìm bội chung nhỏ nhất của 2 số a và b nhưng vẫn giữ nguyên giá trị của a và b.

For example:

Test Result

int a = 3, b = 6; 3 6
printf("%d %d", UCLN(a, b), BCNN(a, b));

Answer: (penalty regime: 0 %)


1 ▼ int UCLN(int a,int b){
2 if(b == 0)
3 return a;
4 return UCLN(b,a % b);
5 }
6 ▼ int BCNN(int a,int b){
7 int ketqua = UCLN(a,b);
8 return a * b/ ketqua;
9
10 }

Test Expected Got

 int a = 3, b = 6; 3 6 3 6 
printf("%d %d", UCLN(a, b), BCNN(a, b));

 int a = 10, b = 8; 2 40 2 40 
printf("%d %d", UCLN(a, b), BCNN(a, b));

 int a = 5, b = 7; 1 35 1 35 
printf("%d %d", UCLN(a, b), BCNN(a, b));

 int a = 63, b = 981; 9 6867 9 6867 


printf("%d %d", UCLN(a, b), BCNN(a, b));

 int a = 44, b = 44; 44 44 44 44 


printf("%d %d", UCLN(a, b), BCNN(a, b));

Passed all tests! 

Chính xác
Điểm cho bài nộp này: 1,00/1,00.

BÁCH KHOA E-LEARNING


WEBSITE

HCMUT
MyBK
BKSI

LIÊN HỆ

 268 Lý Thường Kiệt, P.14, Q.10, TP.HCM

 (028) 38 651 670 - (028) 38 647 256 (Ext: 5258, 5234)

 elearning@hcmut.edu.vn

Copyright 2007-2022 BKEL - Phát triển dựa trên Moodle

You might also like