一个关于硬币程序的小故事----
黑色星空 :: 黑色星空 :: 编程算法(转逻辑为现实) :: C语言编写
第1页/共1页
一个关于硬币程序的小故事----
在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。
分析如下
-------------------------------------
n/2 只有1和2 可以税换的总数
n/3 只有1和3 可以税换的总数
a=0,b=0;
for(i=2;i<=n;i+=2)
{
a=(n-i)/3;
b+=a;
a=0;
}
有 1 2 3 可以税换的总数
最后加上 一个1 是只有1分时 可以税换的总数
所以公式就是 (n/2 + n/3 + b + 1)=可以税换的总数
程序如下:
--------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
int a=0,b=0,n,i,se;
printf("please input a numer:");
scanf("%d",&n);
for(i=2;i<=n;i+=2)
{
a=(n-i)/3;
b+=a;
a=0;
}
se=n/2+n/3+b+1;
printf("this is a :%d\n",se);
return 0;
}
黑色星空,有你更加精彩。。。。。。
分析如下
-------------------------------------
n/2 只有1和2 可以税换的总数
n/3 只有1和3 可以税换的总数
a=0,b=0;
for(i=2;i<=n;i+=2)
{
a=(n-i)/3;
b+=a;
a=0;
}
有 1 2 3 可以税换的总数
最后加上 一个1 是只有1分时 可以税换的总数
所以公式就是 (n/2 + n/3 + b + 1)=可以税换的总数
程序如下:
--------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
int a=0,b=0,n,i,se;
printf("please input a numer:");
scanf("%d",&n);
for(i=2;i<=n;i+=2)
{
a=(n-i)/3;
b+=a;
a=0;
}
se=n/2+n/3+b+1;
printf("this is a :%d\n",se);
return 0;
}
黑色星空,有你更加精彩。。。。。。
niusan521- 帖子数 : 210
注册日期 : 12-01-09
黑色星空 :: 黑色星空 :: 编程算法(转逻辑为现实) :: C语言编写
第1页/共1页
您在这个论坛的权限:
您不能在这个论坛回复主题