Em muốn hỏi cách làm tìm BSCNN của một dãy số
Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.
Emco giải thuật thế này:
Bước 1:Tìm ước số chung lớn nhất:cho chay bien i từ số nhỏ nhất trong dãy về 0 khi tìm được số nào mà tất cả các số chia hết thì ta cho thoát khỏi vòng lặp ngay lập tức bằng lệnh break
bước 2:tính tích của các số trong dãy rồi chia cho USCLN ta duoc ket qua nhu y muon
moi người xem được ko rồi hồi lại cho em biêt mới
Hình như có cách tìm BSCNN từ UCLN mà
À MeoCoNTapLamC nói rồi
uhm bạn làm đúng rồi đấy
đây là code của mình. Nếu sai thì bạn nói cho mình biết nha
Code:#include <stdio.h> #include <conio.h> int Min(int a[],int n) { int lc=a[0]; for(int i=0;i<n;i++) if(a[i]<lc) lc=a[i]; return lc; } int TimUocMax(int a[],int n) { int flag; for(int i=Min(a,n);i>=1;i--) { flag=1; for(int j=0;j<n;j++) if(a[j]%i!=0) flag=0; if(flag!=0) return i; } } int BCLN(int a[],int n) { int d=a[0]; for(int i=1;i<n;i++) d=d*a[i]; int kq=d/TimUocMax(a,n); return kq; } void main() { int a[100],n; printf("Nhap n: "); scanf("%d",&n); for(int i=0;i<n;i++) { printf("Nhap a[%d]: ",i); scanf("%d",&a[i]); } printf("Boi So Chung Lon Nhat La: %d\n",BCLN(a,n)); }
chết nhầm rồi để mình code lại xem
bạn xem đúng chưa
Code:#include <stdio.h> #include <conio.h> int Max(int a[],int n) { int lc=a[0]; for(int i=0;i<n;i++) if(a[i]>lc) lc=a[i]; return lc; } int BCNN(int a[],int n) { int flag; for(int i=Max(a,n);i<=32767;i++)//32767 la gia tri gioi han cua kiu int { flag=1; for(int j=0;j<n;j++) if(i%a[j]!=0) flag=0; if(flag!=0) return i; } } void main() { int a[100],n; printf("Nhap n: "); scanf("%d",&n); for(int i=0;i<n;i++) { printf("Nhap a[%d]: ",i); scanf("%d",&a[i]); } printf("Boi So Nho Nhat La: %d\n",BCNN(a,n)); }
cach cua meocontaplamC ko duoc
vi du nhu 2,3,4 BCNN là 12 ma theo cach nay thi BCNN la 24
ban #include# lam sai nhieu loi qua
Đã được chỉnh sửa lần cuối bởi Quanptit : 14-03-2008 lúc 04:11 AM.
bai tui giai ne
da chay thu roi "em ru"
C Code:
// chuong trinh tim BCNN cua 1 day so #include<conio.h> #include<stdio.h> int BCNN(int a,int b){ int bcnn,i,max; if(a>b) max=a; if(b>=a) max=b; for(i=max;i<=a*b;i++) if((i%a==0)&&(i%b==0)) break; bcnn=i; return(bcnn);} void main(){ int A[50],bcnn,i,n,s; clrscr(); for(i=0;i<n;i++){ bcnn=A[0]; for(i=1;i<n;i++) { s=BCNN(bcnn,A[i]); bcnn=s;} getch();}
Vui lòng viết tiếng Việt có dấu khi đưa bài viết của mình lên diễn đàn. Nếu bạn tiếp tục vi phạm bài viết của bạn sẽ bị xóa sạch.
Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 15-03-2008 lúc 12:24 AM. Lý do: Nhắc nhở vi phạm
quanptit bạn có thể cho mình biết mình làm sai chổ nào khôngCode:ban #include# lam sai nhieu loi qua
mình làm bằng vc++
mình thấy test thử vẫn đúng??