Đăng ký Đăng nhập

Tài liệu Số phản nguyên tố

.DOCX
3
2452
55

Mô tả:

mọi người ơi. tôi có một bài toán sau mong được sự giúp đỡ của mọi người: Cho số nguyên dương N (1<=N<=1000). Hãy tìm số nguyên dương nhỏ nhất có đúng N ước số. Kết quả đảm bảo không vượt quá 10^18. Một số n gọi là số phản nguyên tố nếu số ước số của nó là nhiều nhất trong n số tự nhiên đầu tiên. Cho số K (K <= 2 tỷ). Hãy ghi ra số phản nguyên tố lớn nhất nhỏ hơn hoặc bằng K. Dữ liệu vào trong file PNT.INP nội dung gồm: - Dòng đầu tiên là số M (1 < M <= 100) - số các số cần tìm số phản nguyên tố l ớn nh ất c ủa nó; - M dòng tiếp theo lần lượt là các số K1, K2, K3, ..., KM; Dữ liệu ra trong file PNT.OUT gồm M dòng: dòng thứ i là số phản nguyên tố lớn nh ất nhỏ hơn ho ặc bằng Ki. Ví dụ: PNT.INP 1 1000 PNT.OUT 840 Ý tưởng: tư tưởng giải bài này cũng giống như giải bài tìm dãy con tăng lớn nhất, dãy wavio...l ớn/nh ỏ nhất. tại mỗi số sẽ kiểm tra xem số đó có bao nhiêu ước, so sánh so ước đó với max_uoc.... và nh ư thế, như thế .... Nhớ lưu ý là ví dụ chỉ cho 1 số nhưng đề yêu cầu có thể kiểm tra m<=100 số đó nhe. Let go program phannto; uses crt; var fi,fo:text; a:array[1..100] of integer; n,m:integer; procedure doc; begin readln(fi,m,n); end; function dem(var x:integer):integer; var i,d:integer; begin d:=0; for i:=2 to x-1 do if x mod i =0 then d:=d+1; dem:=d; end; procedure xuli; var i,max,vt:integer; begin vt:=2; max:=dem(a[2]); for i:=3 to n do if max - Xem thêm -