int main() { int p; scanf("%d", &p); NUMBER* x = npow(3, p); nprint(x); return 0; }
NUMBER* npow(int o, int p) { NUMBER* x; if (p == 1) { x = ncreate(); npush(x, o); return x; } if (p % 2 == 0) { x = npow(o, p/2); NUMBER* t = nmultiplyn(x,x); nfree(x); return t; } else { NUMBER* t = npow(o, p-1); nmultiply(t, o); return t; } }
int main(){ int n=0,ch=0,i=0; scanf("%d",&n); for(i=n;i>0;i--){ // ÁÖ¾îÁø Á¤¼öº¸´Ù À۰ųª °°Àº Á¤¼ö nÀ» °¨¼ÒÇÏ¸é¼ ºñ±³ ch=npow(i); // Á¦°ö¼ö¸¦ ±¸ÇÔ do{ if(ch==1) { // ÇູÇÑ ¼ö printf("%d",i); return 0; } else{ // ÇູÇÑ ¼ö°¡ µÇ´ÂÁö »ìÆ캽 if(a[ch]==1) break; // 2ȸÂüÁ¶ ÇູÇÑ ¼ö°¡ ¾Æ´Ô else{ a[ch]++; // ÇØ´ç ¼ýÀÚÀÇ ÂüÁ¶ , ÀÌ ºÎºÐÀº ¼öÁ¤ÇØ¾ß ½ÇÇà½Ã°£ÀÌ ´õ ´ÜÃàµÉ µí } } ch = npow(ch); // Á¦°ö¼ö¸¦ ±¸ÇÔ }while(1); } return 0; }