示例#1
0
文件: arr-main.c 项目: Eugeny/Labs
int main() {
    int p;
    
    scanf("%d", &p);
    
    NUMBER* x = npow(3, p);
    
    nprint(x);
    return 0;
}
示例#2
0
文件: arr-main.c 项目: Eugeny/Labs
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;
    }
}
示例#3
0
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;
}