Programming Language
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.


FOREVER STUDY
 
Trang ChínhPortalTìm kiếmLatest imagesĐăng kýĐăng Nhập
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Latest topics
» Tối ưu hóa thuật toán
toán rời rạc- nghia dai ca Icon_minitimeThu Apr 14, 2011 8:47 pm by gianggiangonline

» Can moi nguoi giup do lam bai tap nay
toán rời rạc- nghia dai ca Icon_minitimeSat Mar 26, 2011 5:23 am by nameless2604

» Bài tập tuần 1.
toán rời rạc- nghia dai ca Icon_minitimeThu Feb 17, 2011 11:40 pm by Admin

»  tên hàn quốc của tớ là jung hyun in! tên của bạn là gì vậy?
toán rời rạc- nghia dai ca Icon_minitimeThu Dec 30, 2010 3:17 am by gianggiangonline

» Anh không chỉ quan trọng............như một chiếc đồng hồ báo thức của em!!!
toán rời rạc- nghia dai ca Icon_minitimeSat Oct 23, 2010 10:58 am by chien_le

» Có những điều thú vị mà không nói ra thì ai cũng biết
toán rời rạc- nghia dai ca Icon_minitimeTue Oct 19, 2010 11:03 pm by gianggiangonline

» [PopCap Game] Plants Vs Zombies [MF]
toán rời rạc- nghia dai ca Icon_minitimeTue Oct 19, 2010 9:25 pm by kingofdrak

» help me me memememememem
toán rời rạc- nghia dai ca Icon_minitimeMon Oct 18, 2010 10:22 am by chien_le

» 3 bai tap ve de quy
toán rời rạc- nghia dai ca Icon_minitimeTue Oct 12, 2010 6:36 am by chien_le

Navigation
 Portal
 Diễn Đàn
 Thành viên
 Lý lịch
 Trợ giúp
 Tìm kiếm
Diễn Đàn
Affiliates
free forum


 

 toán rời rạc- nghia dai ca

Go down 
3 posters
Tác giảThông điệp
mrmax




Tổng số bài gửi : 59
Points : 5111
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeTue Sep 28, 2010 12:22 am

để tôi phá trinh topic trước vậy
Bài 7 sách thầy nghĩa

#include<conio.h>
#include<iostream.h>
int i,b,dem,n;
int *x,*a,*t;
void Init()
{
cout<<"Nhap vao so phan tu n= ";
cin>>n;
x=new int[n+1];
t=new int[n+1];
cout<<"Nhap va cac he so\n";
a=new int[n+1];
for(i=1;i<=n;i++)
cin>>a[i];
cout<<"Nhap b= ";
cin>>b;
dem=0;
x[1]=1;
t[1]=a[1]*x[1];
}
void Result()
{
dem++;
cout<<dem<<':';
for(i=1;i<=n;i++)
cout<<x[i]<<',';
cout<<"\n";
}
void Try(int i)
{
int j;
for(j=1 ; j <= (b-t[i-1]) / a[i] ; j++)
{
x[i]=j;
t[i]=t[i-1]+j*a[i];
if((x[i]*a[i])==(b-t[i-1])) Result();
else Try(i+1);
}
}
int main()
{
Init();
Try(2);
getch();
}




Được sửa bởi mrmax ngày Wed Sep 29, 2010 3:22 am; sửa lần 2.
Về Đầu Trang Go down
Admin
Admin



Tổng số bài gửi : 35
Points : 5081
Reputation : 0
Join date : 31/08/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeTue Sep 28, 2010 10:33 am

uhm, nhung ma comment bai nay lam gi dau ra dau vao de anh em de theo doi nha
Về Đầu Trang Go down
https://study.all-up.com
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeWed Sep 29, 2010 1:56 am

/*bai 4
input : nhap vao n
out put:in ra tat ca cac xau nhi phan do dai n va ko chua 2 so 0 lien tiep*/
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void try_(int,int a[],int);
void Inkq(int a[],int);
int main (void)
{
int n,a[100];

cout<<"nhap n "<<endl;
cin>>n;

a[0] = 1;
try_(1,a,n);

getch();
return(0);
}
void try_(int i,int a[],int n)
{
for(int k = 0 ; k <= 1 ; k ++ )
if ((a[i - 1] != 0) || ( k != 0))
{
a[i] = k;
if(i == n) Inkq(a,n);
else
try_(i + 1,a,n);
}
}
void Inkq(int a[],int n)
{
for(int i = 1 ; i <= n ; i ++ )
cout<<a[i];
cout<<endl;
}
Về Đầu Trang Go down
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeWed Sep 29, 2010 2:27 am

bài 9:
cho số nguyên dương n
liệt kê tất cả các cách biểu diễn n dưới dạng tổng của các số nguyên dương
(bai nay quay lui có sử dụng nhánh cận)
/*
bai 9
input : nhap vao n
output : in ra tat ca cac cah bieu dien n thanh tong cac so nguyen duong
*/
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
void try_(int,int,int a[],int&);
void Inkq(int,int a[],int);
int main(void)
{
int n;
int tong = 0;
int a[100];
a[0] = 1;
cout<<"nhap n= "<<endl;
cin>>n;
if (n > 0) try_(1,n,a,tong);
getch();
return(0);
}
void try_(int i,int n,int a[],int &tong)
{
for(int k = a[i-1] ; k <= n - tong ; k ++)
if(k != n)
{
a[i] = k;
tong = tong + k;
if ( tong == n) Inkq(i,a,n);
else try_(i + 1,n,a,tong);
tong = tong - k; // quay lui
}
}
void Inkq(int temp,int a[],int n)
{
for(int i = 1 ; i <= temp ; i ++ )
cout<<"+"<<a[i];
cout<<"="<<n<<endl;
}
Về Đầu Trang Go down
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeWed Sep 29, 2010 10:19 pm

bài 12 trong sách anh nghĩa cứ gọi là khó thôi rồi
Về Đầu Trang Go down
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeThu Sep 30, 2010 8:50 pm

bài 11 :tam giac than bi'
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<process.h>
void Try_(int,int,int mark[],int kq[],int,int,int);
void Inkq(int kq[],int);
int main(void)
{
int n,k,nho,kq[100],mark[100];
cout<<"nhap n,k="<<endl;
cin>>n>>k;

for(int i = 1 ; i <= 3*n-3 ; i ++ )
mark[i] = 0;
int tong = 0;

Try_(1,k,mark,kq,tong,nho,n);

cout<<"ko ton tai nghiem "<<endl;
getch();
return(0);
}
void Try_(int i,int k,int mark[],int kq[],int tong,int nho,int n)
{
int lg = 1;
for(int p = 1; p <= 3*n-1 ; p ++ )
if (( p + tong <= k)&&(mark[p] == 0))
{
if (i == 1) nho = p;
tong = p + tong;
mark[p] = 1;
kq[i] = p;
if ((i == n)&&(tong != k)) lg = 0;
if ((i == 2*n - 1)&&(tong != k)) lg = 0;
if (( i == 3*n - 3)&&(tong + nho == k)) Inkq(kq,n);
if (((i == n)||(i == 2*n - 1)||(i== 3*n - 3))&&(lg == 1))
tong = p;
if ((i <=3*n - 3)&&(lg == 1)) Try_(i+1,k,mark,kq,tong,nho,n);
tong= tong - p;
mark[p] = 0;
}
}
void Inkq(int kq[],int n)
{
int a[20][20];
for(int i = 1 ; i <= n ; i ++ )
for(int j = 1 ; j <= n ; j++ )
a[i][j]=0;

//nap kq vao mang 2 chieu de in ra
for( i = 1 ; i <= n ; i ++ )
a[i][1] = kq[i];
for( i = n + 1 ; i <= 2*n - 1 ; i ++ )
a[n][i - n + 1] = kq[i];
for( i = 2*n ; i <= 3*n - 3 ; i ++ )
a[ 3*n - i - 1][ 3*n - i - 1] = kq[i];

//inkq
for( i = 1 ; i <= n ; i ++ )
{
for( j = 1 ; j <= n ; j ++ )
if (a[i][j] != 0) printf("%3d",a[i][j]);
else printf(" ");
printf("\n");
}

//dung chuong trinh
getch();
exit(0);
}
Về Đầu Trang Go down
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeThu Sep 30, 2010 9:05 pm

ak minh hoi cai cai setw trong thu vien nao the nhi?
Về Đầu Trang Go down
mrmax




Tổng số bài gửi : 59
Points : 5111
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeThu Sep 30, 2010 10:45 pm

iomanip.h thì phải
Về Đầu Trang Go down
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeThu Sep 30, 2010 11:45 pm

ok
Về Đầu Trang Go down
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeSun Oct 03, 2010 10:22 pm

bai toan ma di tuan
/*
le minh chien
demo bai` con ma~ di tuan cho anh em
do de quy nen chi chay duoc voi n<8
voi n=5 co 304 cach
*/
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<iomanip.h>
void Try_(int x,int y,int n,int dem,int dong[],int cot[],int a[20][20]);
void Inkq(int a[20][20],int);
int main(void)
{
int a[20][20],n;
int dong[8]={1,1,-1,-1,2,2,-2,-2};
int cot[8]={2,-2,2,-2,1,-1,1,-1};
cout<<"nhap n la kt ban co :"<<endl;
cin>>n;
for(int i = 1 ; i <= n ; i ++ )
for(int j = 1 ; j <= n ; j ++ )
a[i][j] = 0;
a[1][1] = 1;
int dem = 1;
Try_(1,1,n,dem,dong,cot,a);
getch();
return(0);
}
/* chuong trinh de quy */
void Try_(int x,int y,int n,int dem,int dong[],int cot[],int a[20][20])
{
for(int k = 0 ; k < 8 ; k ++ )
if ((x + dong[k] >= 1)&&(x + dong[k] <= n)&&(y + cot[k] >= 1)&&(y + cot[k] <= n)
&&(a[x + dong[k]][y + cot[k]] == 0))
{
dem ++;
a[x + dong[k]][y + cot[k]] = dem;
if (dem == n*n) Inkq(a,n);
else Try_(x + dong[k],y + cot[k],n,dem,dong,cot,a);
dem --;
a[x + dong[k]][y + cot[k]] = 0;
}
}
void Inkq(int a[20][20],int n)
{
int i,j;
for( i = 1 ; i <= n ; i ++ )
{
for ( j = 1 ; j <= n ; j ++ )
cout<<setw(4)<<a[i][j];
cout<<endl;
}
cout<<"**********************"<<endl;
}
Về Đầu Trang Go down
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeWed Oct 06, 2010 7:01 am

bài 10 ma phương
n=3 va bang 4 co vẻ chạy được n=4 chạy được 1 lcs rồi đơ2
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
int sizebam = 0;

void Try_(int i,int tong,int a[],int dd[],int mangbam[],int n);
void Bam(int a[],int mangbam[],int n);
void Inkq(int a[],int n);

int main(void)
{
int tong = 0;
int n,dd[100],a[100],mangbam[100];
cout<<"nhap n"<<endl;
cin>>n;
for(int i = 1; i <= n*n ; i ++)
dd[i] = 0;
Try_(1,tong,a,dd,mangbam,n);
getch();
return(0);
}
/* de quy sinh kq*/
void Try_(int i,int tong,int a[],int dd[],int mangbam[],int n)
{
int k,lg,tg = ceil(float(i)/n)*n*(n*n + 1)/2;
int tg1 = n*n;
for( k = 1 ; k <= tg1 ; k ++ )
if ((tong + k <= tg)&&(dd[k] == 0))
{
lg = 1;
if ((i % n == 0)&&(tong + k != tg)) lg = 0;
if (lg)
{
dd[k] = 1;
tong += k;
a[i] = k;
if ( i == tg1 )
Bam(a,mangbam,n);
else
Try_(i+1,tong,a,dd,mangbam,n);
dd[k] = 0;
tong -= k;
}
}
}
/*kieu ta dieu kien duong cheo va dk bam */
void Bam(int a[],int mangbam[],int n)
{
int tong;
int lg = 1;
for(int i = 1 ; i <= n ; i ++ )
{
tong = 0;
for(int j = 0 ; j < n ; j ++ )
tong += a[i+j*n];
if (tong != n*(n*n + 1)/2)
{
lg = 0;
break;
}
}
if (lg)
{
lg = 1;
tong = 1;
int cheo1 = 0;
int cheo2 = 0;
for( i = 1 ; i <= n ; i ++ )
{
tong = tong * a[(i - 1)*n + i] * a[i*(n - 1) + 1];
cheo1 = cheo1 + a[(i - 1)*n + i];
cheo2 = cheo2 + a[i*(n - 1) + 1];
}
if ((cheo1 == n*(n*n + 1)/2)&&(cheo2==n*(n*n+1)/2))
{
for( i = 1 ; i <= sizebam ; i ++ )
if ( mangbam[i] == tong ) {
lg = 0;
break;
}
if(lg)
{
sizebam ++;
mangbam[sizebam] = tong;
Inkq(a,n);
}
}
}
}
/*in ket qua */
void Inkq(int a[],int n)
{
int tg1 = n*n;
for(int i = 1 ; i <= tg1 ; i ++ )
{
cout<<setw(3)<<a[i];
if(i % n == 0) cout<<endl;
}
cout<<"**************************"<<endl;
}
Về Đầu Trang Go down
mrmax




Tổng số bài gửi : 59
Points : 5111
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeWed Oct 06, 2010 9:26 am

bài 5 tôi làm như cách chiến nói nưng không hiểu sai chỗ nào

#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
int i,dem=0,n;
char x[4];
int b[2];
void Result()
{
dem++;
cout.fill('0');
cout<<setw(2)<<dem<<':';
for(i=1;i<=4;i++)
cout<<x[i];
cout<<"\n";
}
void Try(int i)
{
char j;
for(j=3 ; j>=1 ; j--)
{
if((b[1]<1)&&(b[2]<1))
{
x[i]=j+64;
if(j==1) b[1]++;
if(j==2) b[2]++;
if(i==4) Result();
else Try(i+1);
b[1]=0;
b[2]=0;
}
}
}
int main()
{
b[1]=0;
b[2]=0;
Try(1);
getch();
}
Về Đầu Trang Go down
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeThu Oct 07, 2010 2:24 am

ac nhầm đây

#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
int i,dem=0,n;
char x[4];
int b[2];
void Result()
{
dem++;
cout.fill('0');
cout<<setw(2)<<dem<<':';
for(i=1;i<=4;i++)
cout<<x[i];
cout<<endl;
}
void Try(int i)
{
char j;
for(j=3 ; j>=1 ; j--)
{
if(b[j]<1)
{
x[i]=j+64;
b[j]++;
if(i==4) Result();
else Try(i+1);
b[j]--;

}
}
}
int main()
{
b[1]=0;
b[2]=0;
b[3]=-4;
Try(1);
getch();
}
Về Đầu Trang Go down
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeThu Oct 07, 2010 2:31 am

if((b[1]<1)&&(b[2]<1))
{
x[i]=j+64;
if(j==1) b[1]++;
if(j==2) b[2]++;
if(i==4) Result();
else Try(i+1);
b[1]=0;
b[2]=0;

}
bai thành nhầm chỗ này

1.
if((b[1]<1)&&(b[2]<1)) nếu cậu để điều kiện này thì
trường hợp nhập chữ C nếu có 1 chữ A hoặc B rồi thì nó sẽ ko ghi nhận.mà rõ ràng thêm chư C vào vẫn được
phai chuyển thàn
h
if (b[j]<1)
(nhưng ban đầu khởi tạo thêm b[3]=-4)


2.
chỗ quay lui nưa
b[1]=0;
b[2]=0;

nhớ rằng nếu bên trên ta làm gi thì quay lui phải làm ngươc lại
trên ta ++ thi quay lui phai --(nếu trên la *2 thì dưới phải chia 2)
sửa thành b[j]--

Về Đầu Trang Go down
mrmax




Tổng số bài gửi : 59
Points : 5111
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeThu Oct 07, 2010 6:37 am

ok thank.cái này mới học nên còn hơi ngu Very Happy

còn bài 6 nữa tương tự bài 7 mà bài 7 thì ra còn bái 6 thì tịt.bó tay

#include<conio.h>
#include<iostream.h>
int i,b,dem,n;
int *x,*a,*t;
void Init()
{
cout<<"Nhap vao so phan tu n= ";
cin>>n;
x=new int[n+1];
t=new int[n+1];
cout<<"Nhap va cac he so\n";
a=new int[n+1];
for(i=1;i<=n;i++)
cin>>a[i];
cout<<"Nhap b= ";
cin>>b;
dem=0;
x[1]=1;
t[1]=a[1]*x[1];
}
void Result()
{
dem++;
cout<<dem<<':';
for(i=1;i<=n;i++)
cout<<x[i]<<',';
cout<<"\n";
}
void Try(int i)
{
int j;
for(j=1 ; j >=0 ; j--)
{
x[i]=j;
t[i]=t[i-1]+j*a[i];
if((i==n)&&(x[i]*a[i])==(b-t[i-1])) Result();
else Try(i+1);
}
}
int main()
{
Init();
Try(2);
getch();
}
Về Đầu Trang Go down
chien_le

chien_le


Tổng số bài gửi : 35
Points : 5055
Reputation : 0
Join date : 01/09/2010

toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitimeThu Oct 07, 2010 6:55 am

oh cai bai 6-7 do toi ko hieu de` co j hom hop club anh em hoi ky lai de xem.ko hieu ko lam duoc Very Happy
Về Đầu Trang Go down
Sponsored content





toán rời rạc- nghia dai ca Empty
Bài gửiTiêu đề: Re: toán rời rạc- nghia dai ca   toán rời rạc- nghia dai ca Icon_minitime

Về Đầu Trang Go down
 
toán rời rạc- nghia dai ca
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Tối ưu hóa thuật toán
» toán tử trong C++

Permissions in this forum:Bạn không có quyền trả lời bài viết
Programming Language :: ĐỀ BÀI :: THUẬT TOÁN QUAY LUI-
Chuyển đến