解题思路:
已有空瓶子数是否小于一,小于不可换汽水;返回;
已有空瓶子数等于二,可换一瓶;
已有的空瓶子数%3求出剩下的空瓶子;
已有的空瓶子数/3求出可换的汽水数;
把剩下的空瓶子加上换的汽水数作为新的已有的空瓶子数,递归重复执行上述操作;
期间记录换的汽水瓶数即可;
注意事项:
对于新的数据,要把换的瓶数置0;
参考代码:
#include<stdio.h> int M=0; //记录换的瓶数 void huanping(int c); //用于计算换的汽水瓶数 int main() { int n[1000]; // 瓶子数量 int i=0; scanf("%d",&n[0]); while(n[i]!=0) { i++; scanf("%d",&n[i]); } for(int j=0;j<i;j++) { M=0; huanping(n[j]); printf("%d\n",M); } return 0; } void huanping(int c) { if(c<=1) return; if(c==2) { M++;return ; } int c1; M=M+c/3; c1=c/3+c%3; //compute the number of bottle after exchange huanping(c1); return ; }
0.0分
15 人评分
简单编码 (C++代码)浏览:730 |
简单的a+b (C语言代码)浏览:719 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:932 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:736 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:563 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1114 |
【偶数求和】 (C语言代码)浏览:588 |
DNA (C语言描述,蓝桥杯)浏览:1653 |
sizeof的大作用 (C语言代码)浏览:1590 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:582 |