Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Ước chung lớn nhất, bội chung nhỏ nhất chạy với dữ liệu lớn bị sai kết quả là do đâu?

  1. #1
    Ngày gia nhập
    03 2010
    Bài viết
    14

    Mặc định Ước chung lớn nhất, bội chung nhỏ nhất chạy với dữ liệu lớn bị sai kết quả là do đâu?

    Tìm UCLN và BCNN của 2 số. Em chạy trên IDE Dev C++ dùng nhiều số test thử kiểm tra chạy vẫn đúng nhưng khi đưa lên spoj.pl chạy thử thì lun báo sai kết quả. mong các anh chị kiểm tra lại dùm em


    Đề bài : http://www.spoj.pl/PTIT/problems/BCGCD/
    Code:
    Tìm UCLN và BCNN của 2 số.
    
    Input
    
    Gồm nhiều test, mỗi test trên 1 dòng chứa 2 số nguyên dương không quá 231
    
    Bộ test kết thúc bởi dòng chứa 2 số 0.
    
    Output
    
    Mỗi test xuất ra trên 1 dòng chứa 2 số cách nhau bởi dấu cách lần lượt là UCLN và BCNN.
    
    Example
    
    Input:
    2 4
    6 9
    0 0
    
    Output:
    2 4
    3 18
    Đây là bài làm của mình :

    Code:
    #include<stdio.h>
    long UCLN(long a, long b)
    {
    	if(a == 0 || b == 0) return a+b;
    	if(a < 0) a = -a;
    	if(b < 0) b = -b;
    	while(a != 0 && b != 0)
    	{
    		if(a > b) a = a % b;
    		else b = b % a;
    	}
    	return a + b;
    }
    main()
    {
    	long s[100][2];
    	int k=0;
    	long a, b;
    	while(1)
    	{
    		scanf("%ld%ld", &a, &b);
    		if(a ==0 && b==0) break;	
    		s[k][0]  = a;
    		s[k][1]  = b;
    		k++;
    	}
    
    	for(int i=0; i<k; i++)
    	{
    		long long ucln = UCLN(s[i][0], s[i][1]);	
    		long long bcnn = ucln == 0 ? 0 : ((s[i][0] / ucln) * s[i][1]);		
    		printf("%lld %lld\n", ucln, bcnn);
    	}
    
    }
    Code:
    8129073		 2012-11-26 09:53:21	Ước chung lớn nhất, bội chung nhỏ nhất (Cơ bản)	 kết uả sai edit  run	 0.00	 2.6M	C++
    4.0.0-8
    Dịch vụ đánh văn bản | đánh máy vi tính | dichvudanhvanban.vn

  2. #2
    Ngày gia nhập
    04 2012
    Bài viết
    42

    Trên spoj không chấp nhận C. Bạn code theo C++ và trên đó nhập xuất chuẩn. Đối với bài này bạn có thể vừa nhập, vừa xuất kết luôn không cần phải lưu vào mảng đâu. Nhưng với giải thuật này thì dù có đúng, vẫn không thể AC với số nguyên lớn được. limit ở đây tới 2^31 @@
    C Code:
    1. while (!silly)
    2.     cout<<"Study everything !";

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    66

    Trích dẫn Nguyên bản được gửi bởi kimlama Xem bài viết
    Trên spoj không chấp nhận C. Bạn code theo C++ và trên đó nhập xuất chuẩn. Đối với bài này bạn có thể vừa nhập, vừa xuất kết luôn không cần phải lưu vào mảng đâu. Nhưng với giải thuật này thì dù có đúng, vẫn không thể AC với số nguyên lớn được. limit ở đây tới 2^31 @@
    Code:
    long a, b;
    chỉ cần thay kiểu dữ liệu thành long long

Các đề tài tương tự

  1. Chung cư kim văn kim lũ CT12B CT12C mua giá rẻ, nhận nhà chất lượng
    Gửi bởi dinhhavnl trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 02-11-2013, 10:28 AM
  2. TRị hôi nách , ướt nách hiệu quả nhất đây – liên hệ 0915438028 ( NGuyễn văn Chung )
    Gửi bởi Quangchung1988 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 15-12-2012, 03:11 AM
  3. Bán Chung Cư N07 B1 Dịch Vọng Suất Ngoại Giao Chấp Nhận Bán Rẻ
    Gửi bởi nguyenminhanh trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 04-07-2012, 02:48 PM
  4. Bán căn 63m2, chung cư Xa La CT4B chấp nhận lỗ, chung cu xa la ct4b
    Gửi bởi trivuongland24 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 16-04-2012, 10:04 AM
  5. Chung Cư Ngô Thì Nhậm, bán CT2 tầng10,DT:128.58m2 Chung Cư Ngô Thì Nhậm
    Gửi bởi datphat191 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 27-12-2011, 01:09 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn