剪纸片2

#include<stdio.h> int bu[99]={0}; int shu=124; int mu=48; int ans[99]; int max=0; int count=0; int weishu=0; void anss() {  int f=shu;  int c=10;  int d=0;  for(int i=count-2;i>=0;i--)  {   if(bu[i]==1)   {    ans[d]=f%c;    f=f/c;    d++;    c=10;   }   else if(bu[i]==0)   {c=c*10;}     }  ans[d]=f;

 int sum=0;  for(int i=0;i<d+1;i++)  {   sum=sum+ans[i];  }  if(sum<mu&&sum>max)  {   max=sum;  } }

void quan(int a) {  if(a==count-1)  {   anss();   return;  }  for(int i=1;i>=0;i--)  {   bu[a]=i;   quan(a+1);  } } int main() {  int i=shu;    while(i)  {   count++;   i=i/10;  }  quan(0);  printf("%d",max);  return 0; }

posted on 2016-12-16 15:21  霸王程  阅读(73)  评论(0编辑  收藏  举报