int findsum(int a[],int n,int i=0,int sum=0) { if(i==n) return sum; else { return findsum(a,n,i+1,sum+a[i])+findsum(a,n,i+1,sum); } }
long long findsum(int pl,int pr,int x) { if(pl>=ll&&pr<=rr)return(sum[x]); else { int m=(pl+pr)/2;long long ans=0; if(lazy[x]!=0)pushdown(pl,pr,x); if(ll<=m)ans+=findsum(pl,m,2*x); if(rr>=m+1)ans+=findsum(m+1,pr,2*x+1); return ans; } }
int main() { int arr[100],size,i=0; int a=0,b=0,s; scanf("%d",&size); while(i<size) { scanf("%d",&arr[i]); i++; } i=0; //while(i<size) // { printf(" %d",arr[i]); // i++; //} // printf(" <-- input ends here\n"); qsort(arr,0,size-1); i=0; // while(i<size) //{ printf(" %d",arr[i]); // i++; // } printf("Enter the sum required\n"); scanf("%d",&s); findsum(arr,size,&a,&b,s); printf("\nThe elements are %d %d which sums to %d",a,b,s); }
// do summing until reach onre int int digroot(int x){ while (x/10 != 0){ x = findsum(x); } return x; }
int main() { int n=5; int k=100; int a[]={2,3,4,6,8}; printf("%d",findsum(a,n,k)); getchar(); return 0; }
int main() { int a[]={1,2,3,4,5}; int n=sizeof(a)/sizeof(*a); printf("%d",findsum(a,n)); getchar(); return 0; }
int main() { int n,m,i,j,k; scanf("%d",&n); build(1,n,1); scanf("%d",&m); for(i=1;i<=m;i++) { scanf("%d",&k); if(k==1){scanf("%d%d%d",&ll,&rr,&xx);change(1,n,1);} else{scanf("%d%d",&ll,&rr);printf("%lld\n",findsum(1,n,1));} } return 0; }
int main() { struct node *num1 = createlist(); struct node *num2 = createlist(); printlist(num1); printf("\n"); printlist(num2); printf("\n"); struct node *sum = findsum(num1, num2); printlist(sum); return 0; }
int main () { char letter; int sumsofar; printf("Enter an abitrarily long string, ending with carriage return > "); sumsofar = 0; while (letter != '\n') { scanf("%c", &letter); findsum(letter, &sumsofar); } addspace(&sumsofar); printf("Check sum is %c\n", (char)(sumsofar)); return 0; }
int main() { int num = 234; findsum(num); return 0; }
struct deci_tree* infoGainRecursive(int Z[500][500],int b[50][50],struct deci_tree * parent,double entr,int max1,int attr,int obj,int flag,int initattr,int a[500][500]){ int i =0 ; int j; int modifiedA[500][500],modifiedB[50][50]; double col3[50],col1[50],entr1[50],entropy1[50][50],gain1[50]; int dim[2]; if(flag == 1){ flag = 0; parent->ent = entr; parent->data = 0; for(i = 0 ; i < attr ;i++){ for(j = 0 ; j < obj;j++){ modifiedA[j][i] = Z[j][i]; } } findk(modifiedA,modifiedB,obj,attr); } else{ for(i = 0 ; i < attr ;i++){ for(j = 0 ; j < obj;j++){ modifiedA[j][i] = Z[j][i]; } } funcModiA(modifiedA,modifiedA,max1,attr,obj,parent->pos,dim); obj = dim[0]; attr = dim[1]; parent->ent = entropy(modifiedA,obj,attr,i,modifiedB[i][j],NULL); if(parent->ent == 0 ){ int sd = parent->data ; parent->data = modifiedA[1][attr-1]; parent->datasetCol = attr-1; parent->childno = 0; printf("\n\tnode %d is terminated with row value %d , child of %d i posotion value %d\n",parent->data , parent->pos ,sd,parent->ivalue); return 0; } else{ findk(modifiedA,modifiedB,obj,attr); } } for(i= 0; i < attr-1 ; i++){ for(j= 1 ; j <= modifiedB[i][0]; j++){ col3[j-1] = entropy(modifiedA,obj,attr,i,modifiedB[i][j],NULL); } entr1[i] = findsum(col3,modifiedB[i][0]); gain1[i] = parent->ent - entr1[i]; } int temp = max1; max1 = findmax(gain1,attr-1); parent->data = modifiedA[0][max1]; parent->childno = modifiedB[max1][0]; for(i = 0; i <= initattr;i++){ if(parent->data == a[0][i]){ parent->datasetCol = i; break; } } printf("\n\tCurrent node is %d and is child of %d , through row value %d,i position %d coloum number %d \n", parent->data,Z[0][temp],parent->pos,parent->ivalue,parent->datasetCol); for(i = 1; i <= modifiedB[max1][0] ;i++) { parent->c[i] = (struct deci_tree *)malloc(sizeof(struct deci_tree )); parent->c[i]->pos = modifiedB[max1][i]; parent->c[i]->data = modifiedA[0][max1]; parent->c[i]->ent = parent->ent; parent->c[i]->ivalue = i; infoGainRecursive(modifiedA,modifiedB,parent->c[i],parent->c[i]->ent,max1,attr,obj,flag,initattr,a); } return parent; }