DIỄN ĐÀN HỌC SINH SINH VIÊN THPT BẮC DUYÊN HÀ
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Latest topics
» Sửa chữa Smartphone – nghề thời thượng
by hoangyencps 14/1/2014, 8:58 pm

» Teen thời @ ôn thi đại học như thế nào?
by hoangyencps 14/1/2014, 8:56 pm

» Sửa chữa Smartphone – nghề thời thượng
by hoangyencps 14/1/2014, 8:52 pm

» Nhật kí ngày 08 tháng 10 năm 2011 !
by c'lesvie 8/8/2013, 6:24 pm

» Lựa chọn trung tâm luyện thi: tiêu chí nào?
by tongphuong 16/5/2013, 3:21 pm

» [Image]Tổng hợp cổng trại các lớp
by nguyendinhlich23 8/2/2013, 4:36 pm

» Bí mật áo trắng
by dongphuchk 1/10/2012, 4:42 pm

» Kí ức những ngày mưa_BDH
by zozo 26/5/2012, 12:13 am

» Music and Lyric (Như khúc tình ca) - Bạch Dương
by ooyeuem00 2/5/2012, 2:54 pm

» Mot Chut Hoi Uc Tuoi Hoc Tro`
by Thanh_Luan.chel 3/4/2012, 5:58 pm

» Ngoài kia ai còn biết tên…
by Bạch Dương 3/4/2012, 11:39 am

» Cách mạng giáo dục: “Xét xử” những lỗi nhỏ và “hành quyết” những sai lầm lớn
by Bạch Dương 3/4/2012, 10:50 am

» Truyện ngắn: Về ngồi lại bên đời
by Bạch Dương 3/4/2012, 10:46 am

» [a2k47 ảnh] những ngày cuối năm học
by a2k47 28/3/2012, 7:05 pm

» hôm 26-3 qua trường
by a2k47 28/3/2012, 6:56 pm

» Tin buồn ...!!!
by a2k47 28/3/2012, 6:50 pm

» Lớp nào thành công nhất Bắc Duyên Hà 2010?
by honey_smile0206 27/3/2012, 1:13 am

» 10 cách thư giãn và giảm stress hiệu quả
by sinhdaphu 26/3/2012, 9:56 pm

» ĐH Vinh mở thêm ngành Kỹ thuật điều khiển và tự động hóa
by sinhdaphu 26/3/2012, 9:53 pm

Thống Kê
Hiện có 1 người đang truy cập Diễn Đàn, gồm: 0 Thành viên, 0 Thành viên ẩn danh và 1 Khách viếng thăm :: 1 Bot

Không

[ View the whole list ]


Số người truy cập cùng lúc nhiều nhất là 534 người, vào ngày 23/9/2011, 7:39 pm
LIKE

Dân CNTT giúp đỡ

+4
Bạch Dương
EvenSteven
a2k46_bien
MSW
8 posters

Go down

Dân CNTT giúp đỡ Empty Dân CNTT giúp đỡ

Bài gửi by MSW 15/8/2010, 5:16 pm

Mình cần nhờ một số cao thủ tin học giải giúp Tt này: Lập trình tìm số hình vuông có trong hình vuông diện tích NxN (cạnh = N) biét hình này được chia làm NxN ô vuông nhỏ????
MSW
MSW
Hạ sĩ
Hạ sĩ

Khoá học Khoá học : ?
Lớp Lớp : a1
Tổng số bài gửi : 9
BDH-Coins BDH-Coins : 55921
Danh vọng : 0
Ngày tham gia diễn đàn : 02/06/2010

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by a2k46_bien 16/8/2010, 11:52 am

lập trình C++ hay pascal bạn?
a2k46_bien
a2k46_bien
Trung úy
Trung úy

Khoá học Khoá học : 46
Lớp Lớp : a2
Tổng số bài gửi : 102
BDH-Coins BDH-Coins : 56133
Danh vọng : 1
Ngày tham gia diễn đàn : 31/05/2010
Tuổi : 32
Đến từ : Văn Lang
Nghể nghiệp : Sinh viên ĐHM

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by EvenSteven 10/9/2010, 1:37 pm

Mấy cái này chú em lên các diễn đàn IT tìm còn nhanh hơn:))
Trông chờ vào ai Dân CNTT giúp đỡ 529301

EvenSteven
Tân binh !!!
Tân binh !!!

Khoá học Khoá học : 45
Lớp Lớp : A7
Tổng số bài gửi : 1
BDH-Coins BDH-Coins : 54760
Danh vọng : 0
Ngày tham gia diễn đàn : 10/09/2010

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by Bạch Dương 13/9/2010, 6:48 pm

Thật ra đâu cần như vậy.
Tôi xin đề ra một giải thuật sau:
Hãy coi hình vuông này là tập hợp của các đường chéo.
Trên mỗi đg chéo, nếu ta lấy 2 ô vuông (k0 cần khác nhau) sẽ thu được một hình vuông. Như vậy tổng số HV có trong HV NxN ô vuông này sẽ bằng tổng số HV thu đc trên mỗi đg chéo trên.
Vậy, ta lập một lớp để tính số HV trên đg chéo
public sealed class Sum_S
{
public static void sum_S( )
{
this.n=n;
this.h = h;
this.f=f;
this.k=k;
this.a=a;
}
public static int sum( int n)
{
h = (n+1)*n/2;
return h;
}
//Phương thức này dùng để tính tổng HV
public static int thv (int k, int n)
{
for(int a=1; a<=n;a++)
{
int f=a;
Sum_S.sum(a);
a=a+f;
k=2a-(n*n+1/2);
}
return k;
}
public int a;
Public int k;
public int f;
public int h;
public int n;
}


Cuối cùng tạo một lớp sử dụng Phương thức Main để gọi tất cả các PT trên, việc này chắc không cần mất nhiều thời gian
Bạch Dương
Bạch Dương
Admin

Tên đầy đủ Tên đầy đủ : Vũ Đức Anh

Khoá học Khoá học : 48
Lớp Lớp : A11
Chuyên môn : Ngoại ngữ

Tổng số bài gửi : 483
BDH-Coins BDH-Coins : 59742
Danh vọng : 63
Ngày tham gia diễn đàn : 07/01/2010
Tuổi : 31
Đến từ : Học viện Báo chí Tuyên truyền

http://www.bacduyenha.org

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by Vietnamnet.vn 13/9/2010, 8:14 pm

Khó hiểu. viết nốt đi

Vietnamnet.vn
Hạ sĩ
Hạ sĩ

Khoá học Khoá học : ?
Lớp Lớp : ?
Tổng số bài gửi : 9
BDH-Coins BDH-Coins : 55284
Danh vọng : 0
Ngày tham gia diễn đàn : 26/07/2010

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by trantiendat_a9k49 15/9/2010, 2:24 pm

bài này em hiểu chết liền Dân CNTT giúp đỡ 897125
trantiendat_a9k49
trantiendat_a9k49
Thượng Tá
Thượng Tá

Tên đầy đủ Tên đầy đủ : Dân Chơi Phố Mẹo

Khoá học Khoá học : 49
Lớp Lớp : A9
Chuyên môn : Toán - Tin

Tổng số bài gửi : 495
BDH-Coins BDH-Coins : 58167
Danh vọng : 24
Ngày tham gia diễn đàn : 05/03/2010
Tuổi : 29
Đến từ : Mẹo City
Nghể nghiệp : Học Sinh Yêu CNTT
Phương châm sống : Phận Làm Trai Gõ Phím Bình Thiên Hạ....Chí Anh Hùng Click Chuột Định Giang Sơn

http://me.zing.vn/trantiendattb/profile

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by Bạch Dương 15/9/2010, 2:39 pm

Phần còn lại như sau: ta lập một class tester để sử dụng các phương thức từ lớp Sum_S. (bạn có thể để sum_s đánh dấu là static hoặc nếu MSW muốn tạo đối tươgj hay ko thì..tuỳ)
public class nhap
{
public void nhap()
{
this.n = n
}
public int nhapn()
{
System.Console.WriteLine ("nhap n");
n = System.Console.ReadLine();
return n;
}
public int n;
}

public static class Sum_S
{
public void main()
{
Sum_S t= new Sum_S();
nhap n= new nhap();
int a= n.nhapn;
t.thv (a);
System.Console.WriteLine ("Vay so hv la: {0}";a);
}
}

BÀI NÀY CÓ THỂ CÒN NHIỀU SAI XÓT TRONG QUÁ TRÌNH VIẾT CHỮ MONG BẠN THÔNG CẢM, LÂU LẮM RỒI TÔI MỚI LÀM MẤY BÀI LT NÀY
Bạch Dương
Bạch Dương
Admin

Tên đầy đủ Tên đầy đủ : Vũ Đức Anh

Khoá học Khoá học : 48
Lớp Lớp : A11
Chuyên môn : Ngoại ngữ

Tổng số bài gửi : 483
BDH-Coins BDH-Coins : 59742
Danh vọng : 63
Ngày tham gia diễn đàn : 07/01/2010
Tuổi : 31
Đến từ : Học viện Báo chí Tuyên truyền

http://www.bacduyenha.org

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by sasuke_kool 6/2/2011, 10:52 pm

sorry đã lật lại topic đã lâu, nhưng em muốn xem lời giải của em có đúng ko

uses crt;
var S:integer;
i,j,n:integer;
Begin
Write('nhap n: '); Readln(N);
if n=1 then S:=1
Else
begin
S:=N*N+1; { +1 là cái hình vuông to nh?t}
if N=2 then Write('so hv là: ',S)
else
begin
For i:=2 to N do
for j:=2 to N do
S:=S+1;



Write('so hv là: ',S);
end;
end;

Readln;
end.


Em chẳng biết kiểu thuật toán thía nào, đây là nhìn hình đoán qui luật :d
sasuke_kool
sasuke_kool
Trung úy
Trung úy

Tên đầy đủ Tên đầy đủ : Wind_Naruto

Khoá học Khoá học : 49
Lớp Lớp : A4
Chuyên môn : Vật lý

Tổng số bài gửi : 121
BDH-Coins BDH-Coins : 56127
Danh vọng : 18
Ngày tham gia diễn đàn : 28/05/2010
Tuổi : 29
Đến từ : làng Konoha (lang lá)
Phương châm sống : có nhiều thứ t ko thích nhưng cũng có nhiều thứ t ko thật sự thích

http://www.a4k49.com

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by sasuke_kool 6/2/2011, 10:55 pm

Thấy nó ra kết qua có vẻ khả quan nên post thử mợi người xem xét, đúng thanks hộ em một phát lấy khích lệ
sasuke_kool
sasuke_kool
Trung úy
Trung úy

Tên đầy đủ Tên đầy đủ : Wind_Naruto

Khoá học Khoá học : 49
Lớp Lớp : A4
Chuyên môn : Vật lý

Tổng số bài gửi : 121
BDH-Coins BDH-Coins : 56127
Danh vọng : 18
Ngày tham gia diễn đàn : 28/05/2010
Tuổi : 29
Đến từ : làng Konoha (lang lá)
Phương châm sống : có nhiều thứ t ko thích nhưng cũng có nhiều thứ t ko thật sự thích

http://www.a4k49.com

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by Bạch Dương 7/2/2011, 10:26 am

Ý tưởng của em là khá thông minh. Ngay khi đọc bài, người ta đã hiểu em định làm gì. Em coi HV đó là trục tọa đọvwois i là chiều dài và j là chiều rộng, với mỗi i=j ta có một hình vuông, và cho 2 chỉ số này chạy rồi đếm hình
Nếu để ý kỹ em sẽ thấy lỗi sai của mình mà chưa cần xem kết quả
Em hãy nhìn câu lệnh
For i:=2 to N do
for j:=2 to N do
S:=S+1;


Ý tuởng của câu lệnh này là đếm. 2 vòng lặp lồng nhau I chạy từ 2 đến N, J chạy từ 2 đến N, thì S tăng một đơn vị. Ban đầu, người ta nghĩ đó là đúng. Nhưng thật ra ko phải vậy. Bởi lẽ với 2 vòng lặp lồng nhau như vậy, i chạy n-1 lần, j chạy n-1 lần, sẽ có tất cả (N-1)^2 lần tăng đơn vị

Vậy có thể thay cả đoạn lênh lặp dài và tốn quá nhiều dung lượng và thời gian kia chỉ bằng câu lệnh

S:=S+(N-1)^2 (!?)

Như vậy chả lẽ đáp án bài toán lại là S=N*N+1+(N-1)^2? Như thế thì cần gì viết chương trình

Đây là một bài toán tương đối đau đầu. nhưng không phải không có cách. làm sao để đếm đủ số hình vuông mà không xót cái nào?

Theo cách giải mà anh đưa ra:
Hãy coi hình vuông này là tập hợp của các đường chéo.
Trên mỗi đg chéo, nếu ta lấy 2 ô vuông (k0 cần khác nhau) sẽ thu được một hình vuông. Như vậy tổng số HV có trong HV lớn này sẽ bằng tổng số HV thu đc trên mỗi đg chéo trên.
Vậy, ta lập một lớp để tính số HV trên đg chéo


Trong pascal, hãy thay một lớp của C# bằng một hàm.
Em hãy quan sát thử bàn cờ vua, sẽ thấy có các đường chéo theo đường đi của quân Tịnh chạy từ ô đầu đến ô cuối cùng, cứ lấy hai ô trên mỗi đường chéo, ta thu được 1 hình vuông. Bằng cách đó có thể thu được tất cả các hình vuông trong toàn bàn cờ


Cách 2 hay hơn rất nhiều, nhưng người ta sẽ bắt phân tích thuật toán:

Với mỗi hình vuông cạnh NxN, ta thu được 1 hình vuông
Với mỗi hình vuông cạnh (N-1)x(N-1), ta thu được 4 hình vuông
Với mỗi hình vuông cạnh (N-2)x(N-2), ta thu được 9 hình vuông
...
Với mỗi hình vuông cạnh 2x2, ta thu được (N-1)^2 hình vuông
Với mỗi hình vuông cạnh 1x1, ta thu được N^2 hình vuông

Như vậy tổng số hình vuông sẽ bằng những con số thu được cộng lại

Chứng minh thuật toán này rất đơn giản, chỉ bằng những kiến thức hình học nhỏ. Em thử viết chương trình đi
Bạch Dương
Bạch Dương
Admin

Tên đầy đủ Tên đầy đủ : Vũ Đức Anh

Khoá học Khoá học : 48
Lớp Lớp : A11
Chuyên môn : Ngoại ngữ

Tổng số bài gửi : 483
BDH-Coins BDH-Coins : 59742
Danh vọng : 63
Ngày tham gia diễn đàn : 07/01/2010
Tuổi : 31
Đến từ : Học viện Báo chí Tuyên truyền

http://www.bacduyenha.org

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by sasuke_kool 7/2/2011, 10:46 am

S=N*N+1+(N-1)^2 đối với N=3,4,5...
sasuke_kool
sasuke_kool
Trung úy
Trung úy

Tên đầy đủ Tên đầy đủ : Wind_Naruto

Khoá học Khoá học : 49
Lớp Lớp : A4
Chuyên môn : Vật lý

Tổng số bài gửi : 121
BDH-Coins BDH-Coins : 56127
Danh vọng : 18
Ngày tham gia diễn đàn : 28/05/2010
Tuổi : 29
Đến từ : làng Konoha (lang lá)
Phương châm sống : có nhiều thứ t ko thích nhưng cũng có nhiều thứ t ko thật sự thích

http://www.a4k49.com

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by Thần Thoại 7/2/2011, 12:58 pm

EvenSteven đã viết:Mấy cái này chú em lên các diễn đàn IT tìm còn nhanh hơn:))
Trông chờ vào ai Dân CNTT giúp đỡ 529301
Đừng bao h nghi ngờ khả năng của BDHers rồi xem những người khác giỏi hơn mình, nếu bạn không giúp được thì đừng comment vào topic của người khác như thế và comment kiểu xem thường khả năng của BDHers như thế thì càng không nên
Thần Thoại
Thần Thoại
Đại Tá
Đại Tá

Tên đầy đủ Tên đầy đủ : …†… Thần Thoại …†…

Khoá học Khoá học : 48
Lớp Lớp : a7
Chuyên môn : Văn

Tổng số bài gửi : 558
BDH-Coins BDH-Coins : 55558
Danh vọng : 76
Ngày tham gia diễn đàn : 17/12/2010
Tuổi : 31
Đến từ : Đại học sư phạm kĩ thuật Hưng Yên !
Nghể nghiệp : Sv
Phương châm sống : Ráp is my life!!!!!!!

http://www.ladykillah.com

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by sasuke_kool 8/2/2011, 2:10 pm

Ah đúng rùi,e nhầm/sai, Cách đường chéo của anh hay thiệt đấy.Thanks
-Giả sử đường chéo của hình vuông nhỏ nhất là 1 đv (là đường chéo của hv có cạnh =1)
Đơn giản là chỉ cần tính số đường chéo có chiều dài 2,3,.. và cộng số đường chéo lại
ta thấy trong hinh có: 1^2 đường chéo có độ dài N đv
2^2 ............................ N-1 đv
3^2 ............................ N-2 đv
...................................
(N-1)^2 ............................. 2 đv
N^2 ....................................1 đv
=> tổng số hình vuông là S=1+2^2+3^2+.....+N^2
dùng 1 vong for là xong: for i:=1 to N do S:=S+i*i;
Liệu cái bài lập phương có làm đc như thế này ko anh Đức Anh
sasuke_kool
sasuke_kool
Trung úy
Trung úy

Tên đầy đủ Tên đầy đủ : Wind_Naruto

Khoá học Khoá học : 49
Lớp Lớp : A4
Chuyên môn : Vật lý

Tổng số bài gửi : 121
BDH-Coins BDH-Coins : 56127
Danh vọng : 18
Ngày tham gia diễn đàn : 28/05/2010
Tuổi : 29
Đến từ : làng Konoha (lang lá)
Phương châm sống : có nhiều thứ t ko thích nhưng cũng có nhiều thứ t ko thật sự thích

http://www.a4k49.com

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by Bạch Dương 8/2/2011, 3:25 pm

Uhm. Đúng. Cách dđường chéo chỉ áp dụng trong không gian 2 chiều (mặt phẳng). Cách thứ hai sẽ áp dụng tổng quát hơn (kể cả với 4 chiều không gian: V = [vt, vx, vy, vz] = [vt, v])
Tức là với hình lập phương, đếm lần lượt
Với mỗi hình LP cạnh NxN, ta thu được 1 hình LP
Với mỗi hình LP cạnh (N-1)x(N-1)x(N-1), ta thu được 8 hình LP
Với mỗi hình LP cạnh (N-2)x(N-2)x(N-2), ta thu được 27 hình LP
...
Với mỗi hình LP cạnh 2x2x2, ta thu được (N-1)^3 hình LP
Với mỗi hình LP cạnh 1x1x1, ta thu được N^3 hình LP

Vậy tổng số hình :LP tính là: N^3 + (N-1)^3 + (N-2)^3 + ... + 2^3+ 1

Để có điểm cao nhất thì bài này nên dùng đệ quy (chứ ko dùng vòng lặp)

Còn Bài C# trên nói về cách đường chéo của bàn cờ:
public sealed class Sum_S
{
public static void sum_S( )
{
this.n=n;
this.h = h;
this.f=f;
this.k=k;
this.a=a;
}
public static int sum( int n)
{
h = (n+1)*n/2;
return h;
}
//Phương thức này dùng để tính tổng HV
public static int thv (int k, int n)
{
for(int a=1; a<=n;a++)
{
int f=a;
Sum_S.sum(a);
a=a+f;
k=2a-(n*n+1/2);
}
return k;
}
public int a;
Public int k;
public int f;
public int h;
public int n;
}
Đó là lớp tính số hình vuông trên 1 đường chéo

Với không gian 3 chiều mà dùng cách chéo, em phải nghĩ đến "mặt phẳng chéo", như thế rất phức tạp
Bạch Dương
Bạch Dương
Admin

Tên đầy đủ Tên đầy đủ : Vũ Đức Anh

Khoá học Khoá học : 48
Lớp Lớp : A11
Chuyên môn : Ngoại ngữ

Tổng số bài gửi : 483
BDH-Coins BDH-Coins : 59742
Danh vọng : 63
Ngày tham gia diễn đàn : 07/01/2010
Tuổi : 31
Đến từ : Học viện Báo chí Tuyên truyền

http://www.bacduyenha.org

Về Đầu Trang Go down

Dân CNTT giúp đỡ Empty Re: Dân CNTT giúp đỡ

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết