求解一个算法

来源:百度知道 编辑:UC知道 时间:2024/06/16 18:24:25
比如一个数组
int a[]={3,4,8,17,33};

随即输入一个数字:比如12;

要得出:01100 的结果;

就是数组内4+8的结果;

能相加的置成1;

当然这个数字一定输入能相加的,这个不要担心!
呵呵~这个我知道~刚刚是举例,是2个,
万一是3个或者4个呢。。

比如:15=3+4+8;
32= 3+4+8+17;
或者是
33=33;
这些情况都要考虑进去的~

假设你随即输入的数字是num,另外创建一个数组int b[5]={0,0,0,0,0};
for(int i=0;i<5;i++)
{
for(int j=i+1;j<5;j++)
{
if((a[i]+a[j])==num)
{
b[i]=1;
b[j]=1;
}
然后在输出b[5]就ok了