Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

tràn số trong C

18:03 25-11-2021 457 lượt xem 1 bình luận

mọi người cho mình hỏi làm sao để lấy được kết quả đúng trong trường hợp kích cỡ của kết quả lơn hơn kiểu dữ liệu mình dặt cho nó 

mình đang làm bài toán tính tổ hợp chập m của n kết quả vẫn ra đúng với n=13 nhưng từ 14 trở đi kích cỡ của tử số với mẫu số nó lớn hơn  với kiểu dũ liệu mình đặt cho nó

#include<stdio.h>
#include<conio.h>
int giai_thua(int m)
{
	int s=1;
	for(;m>0;--m){
		s*=m;
	}

}
main()
{
	int m,n,i;
	long int tu_so,s,mau_so;
	tt: 
	printf("\nnhap gia tri:\n");
	printf("n=");
	scanf("%d",&n);
	printf("\nm=");
	scanf("%d",&m);
    i=m;
    mau_so=giai_thua(m);
    for(s=1;i>0;--i)
    {
    	s*=(n-m+i);
	}
	tu_so=s;
	
	printf("\nhop_so=%ld",tu_so/mau_so);
	goto tt; 

	
}

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
huulam3011 Author đã bình luận 15:09 30-11-2021

Bạn có thể tìm hiều về tính toán số nguyên lớn trong C

Câu hỏi mới nhất