コード例 #1
0
int f()
{
    col_o_2 = col1_2;
    col_2 = col2_2;
    
    col_o_5 = col1_5;
    col_5 = col2_5;
    for (int i=0; i<=LIM; ++i) {
        col_2[i] = 1;
        col_5[i] = 1;
    }

    ll c=0;
    for (int i=0; i<LIM; ++i) {
        next_r(row_2, i, N);
        next_c(col_2, col_o_2, i, N);

        next_r(row_5, i, N2);
        next_c(col_5, col_o_5, i, N2);

        for (int j=0; j<=i+1; ++j) {
            int t = (col_2[LIM-1] * row_2[j]) % N;

            //printf("%d,", row_2[j]);

            if (t==0) {
                ll t2 = col_5[LIM-1];
                t2 = (t2*row_5[j]) % N2;
            
                if (t2==0) ++c;
            }
            //printf("%d,", t);
        }
        // printf("\n");

        // for (int j=0; j<LIM; ++j)
        //     printf("%d,", col_2[j]);
        // printf("\n");
        printf("i=%d\n", i);
    }

    printf("%I64d\n", c);
}
コード例 #2
0
ファイル: lexer.c プロジェクト: phrack-lp/miniComplier
token get_token(){
	int index = 0;
	for(;;next_char()){
		if(peek == ' ' || peek == '\t')
			continue;
		else if(peek == '\n')
			line = line + 1;
		else break;
	}
	switch(peek){
		case '&':
			if(next_c('&')) return and; else return Token('&');
		case '|':
			if(next_c('|')) return or; else return Token('|');
		case '=':
			if(next_c('=')) return eq; else return Token('=');
		case '!':
			if(next_c('=')) return ne; else return Token('!');
		case '<':
			if(next_c('=')) return le; else return Token('<');
		case '>':
			if(next_c('=')) return ge; else return Token('>');
	}
	if(isdigit(peek)){
		int v = 0;
		do{
			v = v*10 + (peek-'0');
			next_char();
		}while(isdigit(peek));
		if(peek != '.') return Num(v);
		float x = v; float d = 10;
		for(;;){
			next_char();
			if(!isdigit(peek)) break;
			x = x + (peek-'0')/d;
			d = d * 10;
		}
		return Real(x);
	}
	if(isalpha(peek)){
		index = 0;
		memset(lexme,0,MAX_LEN);
		do{
			lexme[index++] = peek;
			next_char();
		}while(isalpha(peek) || isdigit(peek));
		token t = get_from_hashtable(symbol,lexme);
		if(t != NULL)
			return t;
		if(!strcmp(lexme,"int")){
			return TYPE_INT;
		}
		if(!strcmp(lexme,"float")) 
			return TYPE_FLOAT;
		if(!strcmp(lexme,"char")) 
			return TYPE_CHAR;
		t = Word(lexme,ID);
		put_in_hashtable(symbol,t);
		return t;
	}
	token tok = Token(peek);
	peek = ' ' ;
	return tok;
}