Chuyên mục tin học
Top 10 PCGuide
cập nhật lúc 04:38 ngày 19/05
Sự kiện Intel
Intel Vietnam

Promote Your Page Too
Cách giải bài tập xử lí số trong Pascal
viph
Bài viết: 104
Ngày gởi: 03/07/2011 | Số lần xem: 1311 | Góp ý: 2
Giới thiệu bạn bè
cho minh hỏi bài tập này giải như thế nào vậy các bạn?
{{{{}}}
Cho số nguyên N (2<=N<=2000000000). Tìm số nguyên dương a nhỏ nhất sao cho a^a chia hết cho N.
ví dụ : N=9==> kết quả a=3;
       N=32==> kết quả a=4;
Ráng giải giúp mình nha các bạn! thanhkyou !
10
PTS
Câu trả lời hay:
Chưa có
Báo cáo vi phạm
0

Câu Trả lời
thanhphat123
Bài viết: 87
Ngày gởi: 03/07/2011 10:15 PM
ĐÁP ÁN CHO BẠN ĐAY
program xpascalx;
var    x,N,i,a,k:longint;
begin
       a:=1;
       writeln('nhap vao gia tri N <2<=N<=20000000>:' );readln(N);
       x:= N div 2;
       for i:=1 to x do
               begin
               for k:=1 to i do
               a:=a*i;
               if a mod N=0  then
               begin
               writeln(' gia tri a can tim la :',i);
               write('HAY NHAN PHIM ENTER DE THOAT');
               readln;
               exit;
               end;
               end;

end.
VÌ MÌNH CHỈ MỚI THỬ HAI BỘ TEST CỦA BẠN NÊN CÓ GÌ SAI SÓT XIN CHỈ GIÁO
Báo cáo vi phạm
0 bình chọn bài hay
Câu Trả lời
thienduong
Bài viết: 963
Ngày gởi: 03/07/2011 01:58 AM
Bài toán của bạn rắc rối chỗ là phải nắm vững giới hạn của các kiểu dữ liệu áp dụng vào các hàm
Mình giúp bạn trên nền C++, từ đó bạn có thể chuyển sang code pascal.(lưu ý với bạn là code mình chưa chuẩn lắm vì còn hạn chế khi giá trị a^a vượt quá giới hạn kiểu long double)
Hi vọng sẽ giúp được bạn !!!


Code Mẫu:

#include "iostream.h"
#include "conio.h"
#include "math.h"
long double n;
int main(void)
{
    do{
    
cout<<"Nhap n = ";
    
cin>>n;
    }while(
n<2||n>2000000000);
    
long double i=2;
    while(
1>0)
    {
    
long double tam=pow(i,i);
    
double luufmod(tam,n);
    if(
luu == 0)
    {
    
cout<<"So can tim la: "<< i;
    break;
    }
    
i++;
    }
    
getch();
    return 
0;
}
Báo cáo vi phạm
0 bình chọn bài hay

ˆ Lên đầu trang