#include <stddef.h>
#include <stdio.h>
#include <regex.h>
#include <stdlib.h>
#include <string.h>
int main (int argc, char *argv[])
{
/*
if (argc < 2) {
fprintf(stderr, "Usage: %s number\n", argv[0]);
return(1);
}
int num = atoi(argv[1]);
*/
int num=41;
regex_t regex;
char buf [255];
char str [num+1];
str[num] = 0;
regcomp(®ex, "^(11+)\\1+$", REG_EXTENDED);
int r = regexec(®ex, str, 0, NULL, 0);
//If a match is found, the regexec() function returns 0.
if (0 == r) {
}
//If no match is found, the regexec() function returns REG_NOMATCH.
else if (REG_NOMATCH == r) {
}
//Otherwise, it returns a nonzero value indicating an error.
else {
regerror(r, ®ex, buf, sizeof(buf));
fprintf(stderr
, "Error: %d %s\n",r
, buf
); return(1);
}
}
I2luY2x1ZGUgPHN0ZGRlZi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHJlZ2V4Lmg+ICAKI2luY2x1ZGUgPHN0ZGxpYi5oPiAgCiNpbmNsdWRlIDxzdHJpbmcuaD4gICAgCgppbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewoJLyoKICAgIGlmIChhcmdjIDwgMikgewogICAgICAgIGZwcmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzIG51bWJlclxuIiwgYXJndlswXSk7CiAgICAgICAgcmV0dXJuKDEpOwogICAgfQoKICAgIGludCBudW0gPSBhdG9pKGFyZ3ZbMV0pOwogICAgKi8KICAgIGludCBudW09NDE7CiAgICBwcmludGYoIiVkXG4iLG51bSk7CgogICAgcmVnZXhfdCByZWdleDsKICAgIGNoYXIgICAgYnVmIFsyNTVdOwogICAgY2hhciAgICBzdHIgW251bSsxXTsKCiAgICBtZW1zZXQoc3RyLCcxJyxudW0pOwogICAgc3RyW251bV0gPSAwOwogICAgcHV0cyhzdHIpOwoKICAgIHJlZ2NvbXAoJnJlZ2V4LCAiXigxMSspXFwxKyQiLCBSRUdfRVhURU5ERUQpOwoKICAgIGludCByID0gcmVnZXhlYygmcmVnZXgsIHN0ciwgMCwgTlVMTCwgMCk7CgogICAgLy9JZiBhIG1hdGNoIGlzIGZvdW5kLCB0aGUgcmVnZXhlYygpIGZ1bmN0aW9uIHJldHVybnMgMC4gCiAgICBpZiAoMCA9PSByKSB7CiAgICAgICAgcHV0cygiTm90IFByaW1lIik7CiAgICB9CiAgICAvL0lmIG5vIG1hdGNoIGlzIGZvdW5kLCB0aGUgcmVnZXhlYygpIGZ1bmN0aW9uIHJldHVybnMgUkVHX05PTUFUQ0guIAkKICAgIGVsc2UgaWYgKFJFR19OT01BVENIID09IHIpIHsKICAgICAgICBwdXRzKCJQcmltZSIpOwogICAgfQogICAgLy9PdGhlcndpc2UsIGl0IHJldHVybnMgYSBub256ZXJvIHZhbHVlIGluZGljYXRpbmcgYW4gZXJyb3IuIAkJCiAgICBlbHNlIHsKICAgICAgICByZWdlcnJvcihyLCAmcmVnZXgsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwogICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3I6ICVkICVzXG4iLHIgLCBidWYpOwogICAgICAgIHJldHVybigxKTsKICAgIH0KCn0K