BK Algorithm Club
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.


BK Algorithm Practice Forum
 
Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

 

 NEWJ- SỐ học 2

Go down 
2 posters
Tác giảThông điệp
o0o.hero.o0o
bắt đầu sự nghiệp đi học
bắt đầu sự nghiệp đi học



Tổng số bài gửi : 20
Join date : 25/11/2008
Age : 34

NEWJ- SỐ học 2 Empty
Bài gửiTiêu đề: NEWJ- SỐ học 2   NEWJ- SỐ học 2 I_icon_minitime29.12.08 1:44

anh em coi dùm em bài này với Sad
em nghĩ không ra cách nào để chạy nhanh hơn được nữa nhưng vẫn TLE
http://vn.spoj.pl/problems/NEWJ/
đây là code của em
Code:

#include
#include
using namespace std;

int main()
{
    int ntest,n,a,save;
    scanf("%d",&ntest);
    while(ntest--)
    {
        scanf("%d%d",&a,&n);
        if(a==0) {printf("0\\n"); continue;}
        int k = (int)sqrt(a);
        save=-1;
        for(int i=k;i<=n/2;i++)
        {
            int t=i*i%n;
            if( t==a )
            {
                save = i;
                break;
            }
        }
        if(save<0) printf("Khong co\\n");
        else printf("%d %d\\n",save,n-save);
    }
    return 0 ;
}
Về Đầu Trang Go down
NKK
bắt đầu sự nghiệp đi học
bắt đầu sự nghiệp đi học



Tổng số bài gửi : 13
Join date : 28/12/2008

NEWJ- SỐ học 2 Empty
Bài gửiTiêu đề: Re: NEWJ- SỐ học 2   NEWJ- SỐ học 2 I_icon_minitime29.12.08 10:02

Nếu n mod 4 = 3 hoặc n mod 8 =5 thì có công thức rồi. Còn lại thì dùng thuật toán Shanks-Tonelli.
Về Đầu Trang Go down
 
NEWJ- SỐ học 2
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
BK Algorithm Club :: Giải bài trực tuyến :: SPOJ-
Chuyển đến