#include <stdio.h>
int irishLicensePlateValidator(int year, int halfYear, char county, int sequence) {
// Validate year
if (year < 13 || year > 24) {
return 0; // Invalid year
}
// Validate halfYear
if (halfYear != 1 && halfYear != 2) {
return 0; // Invalid halfYear
}
// Validate county by checking if it is one of the valid counties
switch (county) {
case 'C': case 'c':
case 'D': case 'd':
case 'G': case 'g':
case 'L': case 'l':
case 'T': case 't':
case 'W': case 'w':
break; // Valid county
default:
return 0; // Invalid county
}
// Validate sequence number (should be between 1 and 999999)
if (sequence < 1 || sequence > 999999) {
return 0; // Invalid sequence number
}
// All checks passed
return 1;
}
int main() {
int year, halfYear, sequence;
char county;
// Prompt the user for input
printf("Enter the year (last two digits), half-year (1 or 2), county (single character), and sequence number: \n"); scanf("%d %d %c %d", &year
, &halfYear
, &county
, &sequence
);
// Output the result of the validation
int result = irishLicensePlateValidator(year, halfYear, county, sequence);
printf("License plate validation result: %d\n", result
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgaXJpc2hMaWNlbnNlUGxhdGVWYWxpZGF0b3IoaW50IHllYXIsIGludCBoYWxmWWVhciwgY2hhciBjb3VudHksIGludCBzZXF1ZW5jZSkgewogICAgLy8gVmFsaWRhdGUgeWVhcgogICAgaWYgKHllYXIgPCAxMyB8fCB5ZWFyID4gMjQpIHsKICAgICAgICByZXR1cm4gMDsgLy8gSW52YWxpZCB5ZWFyCiAgICB9CgogICAgLy8gVmFsaWRhdGUgaGFsZlllYXIKICAgIGlmIChoYWxmWWVhciAhPSAxICYmIGhhbGZZZWFyICE9IDIpIHsKICAgICAgICByZXR1cm4gMDsgLy8gSW52YWxpZCBoYWxmWWVhcgogICAgfQoKICAgIC8vIFZhbGlkYXRlIGNvdW50eSBieSBjaGVja2luZyBpZiBpdCBpcyBvbmUgb2YgdGhlIHZhbGlkIGNvdW50aWVzCiAgICBzd2l0Y2ggKGNvdW50eSkgewogICAgICAgIGNhc2UgJ0MnOiBjYXNlICdjJzoKICAgICAgICBjYXNlICdEJzogY2FzZSAnZCc6CiAgICAgICAgY2FzZSAnRyc6IGNhc2UgJ2cnOgogICAgICAgIGNhc2UgJ0wnOiBjYXNlICdsJzoKICAgICAgICBjYXNlICdUJzogY2FzZSAndCc6CiAgICAgICAgY2FzZSAnVyc6IGNhc2UgJ3cnOgogICAgICAgICAgICBicmVhazsgLy8gVmFsaWQgY291bnR5CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgcmV0dXJuIDA7IC8vIEludmFsaWQgY291bnR5CiAgICB9CgogICAgLy8gVmFsaWRhdGUgc2VxdWVuY2UgbnVtYmVyIChzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCA5OTk5OTkpCiAgICBpZiAoc2VxdWVuY2UgPCAxIHx8IHNlcXVlbmNlID4gOTk5OTk5KSB7CiAgICAgICAgcmV0dXJuIDA7IC8vIEludmFsaWQgc2VxdWVuY2UgbnVtYmVyCiAgICB9CgogICAgLy8gQWxsIGNoZWNrcyBwYXNzZWQKICAgIHJldHVybiAxOwp9CgppbnQgbWFpbigpIHsKICAgIGludCB5ZWFyLCBoYWxmWWVhciwgc2VxdWVuY2U7CiAgICBjaGFyIGNvdW50eTsKCiAgICAvLyBQcm9tcHQgdGhlIHVzZXIgZm9yIGlucHV0CiAgICBwcmludGYoIkVudGVyIHRoZSB5ZWFyIChsYXN0IHR3byBkaWdpdHMpLCBoYWxmLXllYXIgKDEgb3IgMiksIGNvdW50eSAoc2luZ2xlIGNoYXJhY3RlciksIGFuZCBzZXF1ZW5jZSBudW1iZXI6IFxuIik7CiAgICBzY2FuZigiJWQgJWQgJWMgJWQiLCAmeWVhciwgJmhhbGZZZWFyLCAmY291bnR5LCAmc2VxdWVuY2UpOwoKICAgIC8vIE91dHB1dCB0aGUgcmVzdWx0IG9mIHRoZSB2YWxpZGF0aW9uCiAgICBpbnQgcmVzdWx0ID0gaXJpc2hMaWNlbnNlUGxhdGVWYWxpZGF0b3IoeWVhciwgaGFsZlllYXIsIGNvdW50eSwgc2VxdWVuY2UpOwogICAgcHJpbnRmKCJMaWNlbnNlIHBsYXRlIHZhbGlkYXRpb24gcmVzdWx0OiAlZFxuIiwgcmVzdWx0KTsKCiAgICByZXR1cm4gMDsKfQo=