复杂问题的假币算法_假币问题的三分算法

其他范文 时间:2020-02-28 19:29:02 收藏本文下载本文
【www.daodoc.com - 其他范文】

复杂问题的假币算法由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“假币问题的三分算法”。

思路如下:

Check_coin(a[8])//实现查找8枚硬币中的假币位置,并且判断假币比真币重还是轻 //输入一个整数a[8] //输出假币在数组的位置i,并且输出Leigh or Heavy 如果两个硬币进行比较,H保留较重硬币的下标,L保留较轻下标 拿较重硬币与真币进行比较:

如果比真币重,则返回这个硬币下标,并且返回Heavy;否则返回另一个硬币下标,并且返回Light;

#include int flag=0;int sum_coin(int a[],int from,int to){

int i,sum=0;

for(i=from;i

sum+=a[i];

return sum;}

int check_coin(int a[],int from,int to){

int i,H,L;

i=(to+1)%8;

if(a[from]>a[to])

{

H=from;

L=to;

}

else

{

H=to;

L=from;

}

if(a[H]>a[i])

{

flag=1;

return H;

}

else

{

flag=-1;

return L;

} } main(){

int a[8];

int i,p;

for(i=0;i

{

printf(“a[%d]=”,i);

scanf(“%d”,&a[i]);

}

if(sum_coin(a,0,2)==sum_coin(a,3,5))

p=check_coin(a,6,7);

else

{

if(sum_coin(a,0,2)>sum_coin(a,3,5))

{ if((a[0]+a[4])>(a[3]+a[1]))

p=check_coin(a,0,3);else {

if((a[0]+a[4])==(a[3]+a[1]))

p=check_coin(a,2,5);

else

p=check_coin(a,1,4);

}

}

else

{

if((a[0]+a[4])>(a[3]+a[1]))

p=check_coin(a,1,4);

else

{

if((a[0]+a[4])==(a[3]+a[1]))

p=check_coin(a,2,5);

else

p=check_coin(a,0,3);}

}

}

if(flag==1)

printf(“the false coin is Heavy.n”);

else

printf(“the false coin is Light.n”);

printf(“the false coin is %d.n”,p);

system(“pause”);}

下载复杂问题的假币算法word格式文档
下载复杂问题的假币算法.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文