Thứ Sáu, 2 tháng 3, 2012

Bài 1./ C : Tìm các ước số của 1 số nguyên dương.



Bước 1 : Phân tích bài toán :
        InPut : số nguyên dương n .
        OutPut : các ước số của n  .
Bước 2 : Đưa ra thuật toán tối ưu : đương nhiên có thể có nhiều cách -> lựa chọn một cách tốt nhất về
               thời gian .
         Cho một biến đếm i chạy từ 1 đến n, nếu n chia hết cho các i nào thì in i đó ra ( cũng chính là các ước số của n )
          Nên có một biến đếm để đếm số các ước số của số nguyên dương n .

Sau đây là một CT tham khảo theo ngôn ngữ C :


#include<stdio.h>
#include<conio.h>


long US ( long );

main()
{
int n ;
    char kiemtra; //Hoac la " int kiemtra" cung duoc
 
do{

printf ( "Nhap so nguyen duong n :=" ) ;
scanf ( "%ld",&n ) ;
US ( n );
printf ( "Co tiep tuc khong ?(C/K) :"  ) ;
kiemtra = getche ( ) ;
printf ( "\n\n" ) ;

}while ( kiemtra == 'c' );

getch( );
}

long US ( long n )
{
long i , dem ;

printf ( "Cac uoc so cua %ld la :\n", n ) ;

for ( i = n ; i != 0 ; i-- )
{

if ( n % i == 0 )
{
dem ++;
printf ( "%5ld", i );
}
}
printf ( "\nSo %ld co %ld uoc so\n\n", n, dem ) ;
}

Không có nhận xét nào:

Đăng nhận xét