您的位置:首页 > 其它

天平砝码称重量

2014-12-27 19:21 204 查看
源blog地址http://onlywish.me

用天平称重量

有1,3,9,27,81的砝码

输入一个121以内的数。求出称重方法:

如:输入10 显示 9+1;

输入 7 显示 9-3+1;

下面是答案(自己写的,非标准):

#include <stdio.h>
#include <math.h>
int sum = 0;
int array[5] = {1,3,9,27,81};
int count[5] = {1,4,13,40,121};
char jo[2][2] = {
{‘+’,’-’},
{‘-’,’+’}
};

void digui(int,int);

void main()
{
int num;
//scanf("%d",&num);
for(int i = 1 ; i < 122 ; i++)
{
printf("%d = ",i);
digui(i,0);
}

}
void digui(int num,int j)
{

for(int i  = 0 ; i<5 ; i++)
if(num <= count[i]) break; //定位
if(num > array[i])
{
printf("%d%c",array[i],jo[j][0]);
if(j == 1) j = (j+1)%2;
digui(fabs(num-array[i]),j);
}
if(num < array[i])
{
printf("%d%c",array[i],jo[j][1]);
if(j ==0) j = (j+1)%2;
digui(fabs(num-array[i]),j);
}
if(num == array[i])
{
printf("%d\n",array[i]);
return;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐