Need any one help on Decreasing string problem

I have a doubt in decreasing string problem CODE: DECSTR
This is my code. It will be helpful if someone pointed out my mistake

#include <stdio.h>
int main(void) {
// your code goes here
char a[]=“abcdefghijklmnopqrstuvwxyz”;
int k,t,n;

scanf("%d",&t);
while(t--)
{
    scanf("%d",&k);
    n=(k)%26;
    k=k/26;
    
    if(n>=0){
        for(int i=n; i>=0; i--){
            printf("%c",a[i]);
        }
    }
    while(k--){
    for(int i=25; i>=0; i--){
    printf("%c",a[i]);
    }
    }
}

return 0;

}

I stucked in this problem. It will be helpful if someone helped me in this problem

just take the case
t=1
k= 26
answer should be
bazyxwvutsrqponmlkjihgfedcba
your answer is
azyxwvutsrqponmlkjihgfedcba

Thanks akman10

Question:
You need to find a string which has exactly K positions in it such that the character at that position comes alphabetically later than the character immediately after it.

I didn;t understand properly. why when k=26 it should print
bazyxwvutsrqponmlkjihgfedcba
instead of azyxwvutsrqponmlkjihgfedcba

if i m not bothering please help me to understand this question

See, first of all
From (zyxw…dcba) there are 25 such postion where the given condition follows,
We need k=26 , so one more such position.

In String (zyxw…dcbaba) i have added ba to it at the end.
But we have to print such string that is smallest and lexicographical smaller.
So we add ba at the start not at the end
(bazyxw…dcba) now this is correct
One more example
For k=52,
(cbazyxw…dcbazyxw…dcba) this is correct answer
In this example cba gives 2 position whereas
Zyxw…dcba gives 25 again zyxw…dcba gives 25
Total 25+25+2=52
Hope u understand it

Got it thanks :slight_smile: