chudoan415
Thành viên mới
- Tham gia
- 16/11/22
- Bài viết
- 49
- Được thích
- 6
- Giới tính
- Nữ
Xông xênh quá, còn có của để dành nữa.Em còn 1 bài tập bên cạnh để anh/chị thêm trường hợp khác nữa.
Em chào anh/chị.
Em có thêm bài tập nữa. Rất mong anh/chị giúp đỡ. Tìm X sao cho, X chia hết cho 2,3,5,7. Khi X+196 ta được 1 số chính phương A chỉ chia hết cho 2,7. Em cảm ơn ( Em còn 1 bài tập bên cạnh để anh/chị thêm trường hợp khác nữa ).
=AGGREGATE(15,6,(LCM(2,3,5,7)*ROW(1:1000)+196)/(MOD(LCM(2,3,5,7)*ROW(1:1000)+196,LCM(2,7))=0)
/(SQRT(LCM(2,3,5,7)*ROW(1:1000)+196)=INT(SQRT(LCM(2,3,5,7)*ROW(1:1000)+196))),1)
Sub TimSoChinhPhuong()
Const A As Integer = 2: Const B As Integer = 3
Const C As Integer = 5: Const D As Integer = 7
Dim LCM As Integer, J As Long, Tmp As Double, Dm As Integer
Dim DK1 As Boolean, DK2 As Boolean, DK3 As Boolean
ReDim Arr(1 To 35, 1 To 2)
LCM = Application.LCM(A, B, C, D)
For J = (LCM + 196) To 9999999 Step LCM
Tmp = (J) ^ (0.5)
DK1 = Tmp / 1 = Tmp \ 1
DK2 = Tmp / 2 = Tmp \ 2
DK3 = Tmp / 7 = Tmp \ 7
If DK1 And DK2 And DK3 Then
Dm = Dm + 1
Arr(Dm, 1) = J: Arr(Dm, 2) = Tmp
If Dm = 35 Then Exit For
End If
Next J
[J2].Resize(Dm, 2).Value = Arr()
End Sub
Công thức này không quan tâm đến việc có chia hết cho 3 và 5 hay không:
Mã:=AGGREGATE(15,6,(LCM(2,3,5,7)*ROW(1:1000)+196)/(MOD(LCM(2,3,5,7)*ROW(1:1000)+196,LCM(2,7))=0) /(SQRT(LCM(2,3,5,7)*ROW(1:1000)+196)=INT(SQRT(LCM(2,3,5,7)*ROW(1:1000)+196))),1)
Kết quả là 3136.
.
Hàm và code đúng y boong các bác ạ, số chính phương là A.PHP:Sub TimSoChinhPhuong() Const A As Integer = 2: Const B As Integer = 3 Const C As Integer = 5: Const D As Integer = 7 Dim LCM As Integer, J As Long, Tmp As Double, Dm As Integer Dim DK1 As Boolean, DK2 As Boolean, DK3 As Boolean ReDim Arr(1 To 35, 1 To 2) LCM = Application.LCM(A, B, C, D) For J = (LCM + 196) To 9999999 Step LCM Tmp = (J) ^ (0.5) DK1 = Tmp / 1 = Tmp \ 1 DK2 = Tmp / 2 = Tmp \ 2 DK3 = Tmp / 7 = Tmp \ 7 If DK1 And DK2 And DK3 Then Dm = Dm + 1 Arr(Dm, 1) = J: Arr(Dm, 2) = Tmp If Dm = 35 Then Exit For End If Next J [J2].Resize(Dm, 2).Value = Arr() End Sub
Cũng đúng mà bạn. Ví dụ số 196 là số chính phương của 14*14. Hay 2*2*7*7 thì chỉ chia hết cho 2 và 7 mà.Hàm và code đúng y boong các bác ạ, số chính phương là A.
Tuy nhiên, đề bài không rõ ràng:
- Tìm số chính phương, mà dưới lại ghi tìm X.
- Yêu cầu là "chỉ chia hết cho 2,7", còn trong file thì "chia hết cho 2,7"
P/S: Thầy cô lớp 6 mà ra đề bài này chắc phải có phần mềm nào đó thử trước rồi mới dám xuống mực các bác nhỉ?
Đây là chương trình nhái của "Ai thông minh hơn học sinh lớp 5" thì phải.
Bài này ra số 3136 là Min và "không chia hết" cho 3,5 nên thỏa luôn. Nếu số 44100 thì nó không bị khống chế gì cả và chia hết cả thảy 2,3,5,7 luôn ấy.Cũng đúng mà bạn. Ví dụ số 196 là số chính phương của 14*14. Hay 2*2*7*7 thì chỉ chia hết cho 2 và 7 mà.
Em cảm ơn nhiều nháPHP:Sub TimSoChinhPhuong() Const A As Integer = 2: Const B As Integer = 3 Const C As Integer = 5: Const D As Integer = 7 Dim LCM As Integer, J As Long, Tmp As Double, Dm As Integer Dim DK1 As Boolean, DK2 As Boolean, DK3 As Boolean ReDim Arr(1 To 35, 1 To 2) LCM = Application.LCM(A, B, C, D) For J = (LCM + 196) To 9999999 Step LCM Tmp = (J) ^ (0.5) DK1 = Tmp / 1 = Tmp \ 1 DK2 = Tmp / 2 = Tmp \ 2 DK3 = Tmp / 7 = Tmp \ 7 If DK1 And DK2 And DK3 Then Dm = Dm + 1 Arr(Dm, 1) = J: Arr(Dm, 2) = Tmp If Dm = 35 Then Exit For End If Next J [J2].Resize(Dm, 2).Value = Arr() End Sub
Công thức hay. Cảm ơn anh nhiều nháGọn hơn một chút
Mã:=AGGREGATE(15,6,(LCM(2,3,5,7)*ROW(1:1000)+196) /(MOD(LCM(2,3,5,7)*ROW(1:1000)+196,LCM(2,7))=0) /(MOD(SQRT(LCM(2,3,5,7)*ROW(1:1000)+196),1)=0),1)
Sub TimSoChinhPhuong_B()
Const A As Integer = 2: Const B As Integer = 3
Const C As Integer = 7: Const D As Integer = 13
Const Cg As Long = 33124
Dim LCM As Integer, J As LongLong, Tmp As Double, Dm As Integer
Dim DK1 As Boolean, DK2 As Boolean, DK3 As Boolean
ReDim Arr(1 To 35, 1 To 2)
LCM = Application.LCM(A, B, C, D)
For J = (LCM + Cg) To 9999999 Step LCM
Tmp = (J) ^ (0.5)
DK1 = Tmp / 2 = Tmp \ 2
DK2 = Tmp / 7 = Tmp \ 7
DK3 = Tmp / 13 = Tmp \ 13
If DK1 And DK2 And DK3 Then
Dm = Dm + 1
Arr(Dm, 1) = J: Arr(Dm, 2) = Tmp
If Dm = 13 Then Exit For
End If
Next J
[J2].Resize(Dm, 2).Value = Arr()
End Sub
132,496 | 364 | |||||||||||||||||||||||||
529,984 | 728 | |||||||||||||||||||||||||
828,100 | 910 | |||||||||||||||||||||||||
1,623,076 | 1274 | |||||||||||||||||||||||||
2,119,936 | 1456 | |||||||||||||||||||||||||
3,312,400 | 1820 | |||||||||||||||||||||||||
4,008,004 | 2002 | |||||||||||||||||||||||||
5,597,956 | 2366 | |||||||||||||||||||||||||
6,492,304 | 2548 | |||||||||||||||||||||||||
8,479,744 | 2912 | |||||||||||||||||||||||||
9,572,836 | 3094 |
Bạn thử công thức này xem, hơi ngắn gọn :Em chào anh/chị.
Em có thêm bài tập nữa. Rất mong anh/chị giúp đỡ. Tìm X sao cho, X chia hết cho 2,3,5,7. Khi X+196 ta được 1 số chính phương A chỉ chia hết cho 2,7. Em cảm ơn ( Em còn 1 bài tập bên cạnh để anh/chị thêm trường hợp khác nữa ).
Em nghĩ 1 là thớt đang tán anh/cô dạy toán. 2 là đang tìm 1 cách soi cầu mới bác ạ.Rốt cuộc thì thớt học toán hay học Excel?
Trong bảng tính trải rộng thì số chính phương dùng để làm gì? Ba cái conn toán chia chẵn này nọ dùng để làm gì?
Dạ em học excel mà bác. Nhưng thấy mấy bài toán của đứa cháu nó hay nên em đưa lên đây xem có cách giải bằng excel không thôi ạRốt cuộc thì thớt học toán hay học Excel?
Trong bảng tính trải rộng thì số chính phương dùng để làm gì? Ba cái conn toán chia chẵn này nọ dùng để làm gì?
Bạn ơi mình là nữ mà.Em nghĩ 1 là thớt đang tán anh/cô dạy toán. 2 là đang tìm 1 cách soi cầu mới bác ạ.