h


私信TA

用户名:Ezekiel

访问量:21545

签 名:

等  级
排  名 374
经  验 5186
参赛次数 2
文章发表 42
年  龄 80
在职情况 待业
学  校
专  业

  自我简介:

解题思路:此题最好建立一个数学模型,说白了就是列个表看出它的规律,剩下的就好解的多了。

你拥有的空瓶能够换得的总瓶数剩下的空瓶
101
210
311
420
521
630
731
840
.........

       不难看出,因为如果剩下两个空瓶的话就可以借一瓶喝完还回去,所以最后剩下空瓶的只可能是一个或者

没有。

        再看每拥有的空瓶能换的瓶数。单数的则为(n-1)/2,双数的为n/2。

        接下来就开始编写程序。


注意事项:

参考代码:

#include<stdio.h>
int bottle(a);
int main()
{
    int n[10];//最多测试十组数据
    int i=0;
    scanf("%d",&n[0]);//先输入一个然后让下面while进行判断。
    while(n[i]!=0){
        i++;
        scanf("%d",&n[i]);
    }//这里建议先看下面的函数
    for(int j=0;j<=i;j++)
    {
        if(bottle(n[j])!=0)//最后以0结尾,所以判断是不是等于0,如果等于则不输出,程序结束。
        printf("%d\n",bottle(n[j]));
    }
    return 0;
}
int bottle(a){
    if(a%2==0)//判断输入的数是奇数还是偶数,然后用之前建立模型所得出的公式套用
        return a/2;
    return (a-1)/2;
    
}


 

0.0分

2 人评分

  评论区

  • «
  • »