1. 首页
  2. 课程学习
  3. C++/C
  4. n枚和八枚硬币问题

n枚和八枚硬币问题

上传者: 2018-12-29 02:15:54上传 C文件 4.39KB 热度 40次
//n枚硬币问题 void solve(int coin[], int n, int p, int q) { if (n < 3){//少于三枚没有比较对象无法判断真假 printf("无法判断\n"); return; } if (p == q){ printf("第%d枚, 假币的重量为%d\n", p+1, coin[p]); } else if (q - p == 1){//还剩两枚硬币时 if (p > 0){//第0枚为真 if (coin[p] == coin[0])//第p枚为真 solve(coin, n, p + 1, q); else//第q枚为真 solve(coin, n, p, q - 1); } else if (q < n - 1){//第n-1枚为真 if (coin[p] == coin[n - 1]) solve(coin, n, p + 1, q); else solve(coin, n, p, q - 1); } } - 1]) solve(coin, n, p + 1, q); else solve(coin, n, p, q - 1); } }
下载地址
用户评论