void ntt(int *A,int lgn,bool inv=false) { int n=1<<lgn; for(int i=0;i<n;i++) if(i<rev_int(i,lgn)) swap(A[i], A[rev_int(i,lgn)]); for(int i=1;i<n;i*=2) { int W=1, Wn; if(inv) Wn=pW[n-(n/2/i)]; else Wn=pW[n/2/i]; for(int j=0;j<n;j++) { if(j&i) { W=1; continue; } int x=A[j], y=mul(A[j+i],W); A[j]=add(x,y); A[j+i]=sub(x,y); W=mul(W,Wn); } } if(inv) for(int i=0;i<n;i++) A[i]=mul(A[i],divN); }
void ft_write_header(int fd, t_asm *st_asm) { int i; int len; i = rev_int(COREWAR_EXEC_MAGIC); ft_write_int(fd, i); st_asm->header.name = ft_remove_cor(st_asm->header.name); ft_putstr_fd(st_asm->header.name, fd); len = ft_strlen(st_asm->header.name); len = PROG_NAME_LENGTH - len + 4; if (len < 0) ft_error("Name too big", 0, ASM_EXIT); ft_write_blank(len, fd); i = st_asm->header.prog_size; i = rev_int(i); ft_write_int(fd, i); ft_printf_fd(fd, "%s", st_asm->header.comment); len = ft_strlen(st_asm->header.comment); len = COMMENT_LENGTH - len + 4; if (len < 0) ft_error("Comments too big", 0, ASM_EXIT); ft_write_blank(len, fd); }
int main (int argc, char **argv) { int num; /* the number entered by the user */ printf("Please enter a positive three digit number: "); scanf("%d", &num); printf("You entered: %d\n", num); if (num < 100 || num > 999) { printf("That was a crap number!\n"); printf("You're supposed to enter a positive three digit " "number dude.\n"); } else printf("Digits reversed: %03d\n", rev_int(num)); return 0; }
int main() { int a= 1234321; printf("a=%d, result=%d\n",a,rev_int(a)); return 0; }