1000个苹果和10个筐子

有1000个苹果和10个筐子,筐子的编号为1-10.现要将这1000个苹果放入这10个筐子,要求:

(1)从1-1000中任取1个数字,这个数字都能由10个筐子中的某几个筐子的苹果数和组成.

(2)筐中的苹果是一个整体,不能取筐中的一部分苹果,即一旦选取某个筐子,该筐的苹果数就必须全部计入.

 

代码:

#include <iostream> 
using namespace std;

int main() 

  int a[10]={1,2,4,8,16,32,64,128,256,489};
  int x; 
  int b=0,c=1,e=1;   //b和c为输入苹果数量与数组的比较,e循环
  cin>>x;
  while(x!=0){

    //比较是否有相同的,有就输出结果再退出循环
    if(x==a[b]||x==a[c]){
    cout<<"苹果数量:"<<x<<endl;
    e=0;
    }
    if(e==0)
    break;

    //逐个比较
    if(x>=a[b]&&x<=a[c]){
    x=x-a[b];
    cout<<"苹果数量:"<<a[b]<<endl;
    b=-1;
    c=0;
    }
    ++b;
    ++c;
    }
    cout <<endl<< "Hello World" <<endl; 
    return 0; 
    }

效果图:

 

 

posted @ 2018-03-22 17:34  赤墨  阅读(750)  评论(0编辑  收藏  举报