#include <stdio.h> int addone(int t) { int w=1; while(1) { if(w&t) t&=~w; else { t|=w; break; } w<<=1; } return t; } int add(int a,int b) { int sum=0; unsigned char amask,bmask,i=0,j=0; while(a||b) { amask=a&1; bmask=b&1; sum|=(amask^bmask^j)<<i; i=addone(i); j=amask&bmask || amask&j || bmask&j; a>>=1; b>>=1; } if(j) sum|=j<<i; return sum; } int main(void) { int i,sum=0; for(i=1;i!=101;i=addone(i)) sum=add(sum,i); printf("%d/n",sum); getchar(); return 0; }