33. Detect Circular Pattern Match

Back To All Submissions
Previous Submission
Next Submission

Code

#include<stdio.h>
#include<stdint.h>

uint16_t detect(uint16_t reg, uint16_t target)
{
    for(int i = 0; i < 16; i++)
    {
        uint16_t r = (reg << i) | (reg >> (16 - i));

        if(r == target)
        {
            return 1;
        }
    }

    return 0;
}

int main()
{
    uint16_t reg, target;

    scanf("%hu %hu", &reg, &target);

    uint16_t result = detect(reg, target);

    printf("%hu", result);

    return 0;
}

Solving Approach

 

 

 

Was this helpful?
Upvote
Downvote