C算法编程题(七)购物

时间:2022-03-12 08:40:32

前言

  上一篇《C算法编程题(六)串的处理

  有些朋友看过我写的这个算法编程题系列,都说你写的不是什么算法,也不是什么C++,大家也给我提出用一些C++特性去实现问题更方便些,在这里谢谢大家提的一些建议和意见,我当时写这个系列的目的不是探讨算法和C++的特性,可能是我标题写的不好吧,让大家误解了,再这里给大家说声抱歉。

  大家都学过数学,做过奥数题,其实大家看看我写的前几篇文章就会发现,做这类编程题就像做奥数题一样,锻炼的是我们的逻辑思维能力,我当时写的目的也是这样。如果说用一些语言的特性去实现,那我就不用C++了,直接用C#更好的实现,用到C++只是一些简单的不能再简单的语法而已。

  做编程题和做奥数题一样,只不过一个用数学的方式、一个用编程的方式;一个写在纸上、一个运行在电脑上;只要是思路通了,不管用什么方式都可以解决问题,只不过工具不同而已。

  国外一些早期的牛叉编程高手都是数学家出身,所以说学好编程先学好数学。

程序描述

  公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法。
    程序输入:
    第一行是一个整数m,代表可购买的商品的种类数。
    接下来是m个整数,每个1行,分别代表这m种商品的单价。
    程序输出:
        第一行是一个整数,表示共有多少种方案
        第二行开始,每种方案占1行,表示对每种商品购买的数量,中间用空格分隔。
    例如:
        输入:
        2
        200
        300
    则应输出:
        2
        2  2
        5  0
        输入:
        2    
        500
        800
        则应输出:
        1
        2  0

程序实现

  刚看到这个题,有点像找配对的感觉,其实做这种题就是思维能力的问题了,有的人一个小时就可以做出来,有的人哪怕做一天也做不出来。

  这里我说一种最常用的思路,我们输入商品个数是2,单价分别为200和300,那我们先这样想,1000块最大可以200的商品是5个,最大可以买300的商品2个,只是考虑在1000块以内,买一种剩余的钱我们不考虑,所以我们可以分别找在买5个以内200的商品,看可以买300块商品有几个,就是买5个、4个、3个、2个、1个、0个200的商品,剩余的钱可以买多少个300的商品。如果加起来正好是1000块,那就是一种购买的情况。

  思路就是这样,代码用到了一点递归的思想,我就不多说,大家自己理解下。

  完整代码:

 #include"stdio.h"
int a[];//存放商品价格
int counter=;
int c[];
int num;//商品数目
void f(int b[],int i)
{
int j,sum=;
if(i>=num)
{
return ;
}
else
{
c[i]=/a[i];
for(b[i]=;b[i]<=c[i];b[i]++)
{
sum=;
if(i==num-)
{
for(j=;j<num;j++)
{
sum+=b[j]*a[j];
}
if(sum==)
{
for(j=;j<num;j++)
{
printf("%d ",b[j]);
}
printf("\n");
counter++;
}
}
else
{
f(b,i+);
}
}
return ;
}
}
void main()
{
int b[]={};
int c[]; int i,j,m=,sum;
printf("商品数目:\n");
scanf("%d",&num);
printf("商品价格:\n");
while(m<num)
{
scanf("%d",&a[m]);
m++;
}
i=;
c[i]=/a[i];
for(b[i]=;b[i]<=c[i];b[i]++)
{
f(b,i+);
}
printf("%d\n",counter);
getchar();
}

  运行结果:

aaarticlea/png;base64,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" alt="" />