Hí hí, chào mọi người.
Em có 1 bài toán mà e vẫn chưa tìm được cách giải quyết, mong m.n giúp ạ.
Đề bài: Cho biết vị trí của 1 từ , sau đó hiển thị ra từ đó , vị trí được sắp xếp theo A-Z giống trong từ điển.
VD: 1 là A, 2 là B, 26 là Z, 27 là AA, 28 là AB, 29 là AC, giống thứ tự cột trong excel ý.
Em làm rồi mà lạ ở chỗ nó chỉ chạy đúng từ 1-> 701, nghĩa là 2 chữ cái, từ 3 chữ cái trở lên là bắt đầu sai.....
Thuật toán của em:
void daychu(long long number)
{
long long k;
k=number;
while(k>26)
{
k=k/26;
}
switch(k)
{
case 1: cout<<"A"; break;
case 2:cout<<"B";break;
case 3:cout<<"C";break;
case 4:cout<<"D";break;
case 5:cout<<"E";break;
case 6:cout<<"F";break;
case 7:cout<<"G";break;
case 8:cout<<"H";break;
case 9:cout<<"I";break;
case 10:cout<<"J";break;
case 11:cout<<"K";break;
case 12:cout<<"L";break;
case 13:cout<<"M";break;
case 14:cout<<"N";break;
case 15:cout<<"O";break;
case 16:cout<<"P";break;
case 17:cout<<"Q";break;
case 18:cout<<"R";break;
case 19:cout<<"S";break;
case 20:cout<<"T";break;
case 21:cout<<"U";break;
case 22:cout<<"V";break;
case 23:cout<<"W";break;
case 24:cout<<"X";break;
case 25:cout<<"Y";break;
case 26:cout<<"Z";break;
}
if(number<=26) exit(0);
daychu(number-(k*26));
}
hoặc
vẫn k hiểu cụ thể bài toán này là gì nhỉ. thấy có vẻ đề và cach làm ngược nhau @@