2892. Cơ số H
Mã bài: BASEH
Cho một dãy số a[1],a[2],a[3],...,a[n] và hai số K,H được xác định như sau:
- a[1]=1;
- Nếu K chẵn thì a[K]=H*a[K/2].
- Nếu K lẻ thì a[K]=H*a[(K-1)/2]+1.
Các bạn hãy lập trình tính số thứ K của dãy viết trong hệ cơ số H.
Input
- Gồm một dòng duy nhất chứa 2 số K,H.
Output
- In ra số duy nhất là kết quả bài toán.
Giới hạn
- 0< K <=1000000000.
- 0=< H <=2008.
Ví dụ
Input 7 110 Output 111
Link: http://vn.spoj.pl/problems/BASEH/
Solution:
DevC:
#include<stdio.h>
//#include<conio.h>
long int k;
int h;
void Doc();
void DeQuy(long int x);
int main()
{
Doc();
DeQuy(k);
// getch();
return 0;
}
void Doc()
{
scanf("%d",&k);
scanf("%d",&h);
}
void DeQuy(long int x)
{
if(x==1) printf("%d",1);
else if(x%2==0) // x la so chan
{
DeQuy(x/2);
printf("%d",0);
}
else // x la so le
{
DeQuy((x-1)/2);
printf("%d",1);
}
}
Không có nhận xét nào:
Đăng nhận xét