Chain Quine
My partial solution:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
int cases,logn,n;
scanf("%d",&cases);
while(cases--){
scanf("%d",&n);
if(n>0){
logn=log2(n);
if(n==1) printf("2\n");
else
if((int)pow(2,logn)==n)
printf("%d\n",(int)pow(2,logn));
else
printf("%d\n",(int)pow(2,logn+1));
}
else{
printf("#include<stdio.h>\n");
printf("#include<stdlib.h>\n");
printf("#include<string.h>");printf("\n#include<math.h>\n");printf(" int main(){int cases,logn,n; scanf(");printf("%c",34);printf("%%d");printf("%c",34);printf(",&cases);");printf("while(cases--){");printf("scanf(");printf("%c",34);printf("%%d");printf("%c",34);printf(",&n);");printf("if(n>0){logn=log2(n);if((int)pow(2,logn)==n)");printf("printf(");printf("%c",34);printf("%%d\\n");printf("%c",34);
printf(",n);");printf("else printf(");printf("%c",34);printf("%%d\\n");printf("%c",34); printf(",(int)pow(2,logn));}");printf("""}return 0;}");
}
}
return 0;
}



Recent Comments