小手凉凉


私信TA

用户名:mx2003

访问量:3101

签 名:

面向对象面向君,不负代码不负卿

等  级
排  名 4541
经  验 1617
参赛次数 2
文章发表 12
年  龄 2
在职情况 学生
学  校 SAU
专  业 计算机科学与技术

  自我简介:

进阶小趴菜

解题思路:

微信图片_20220709161157.jpg

注意事项:有可能会超出限制,有没有大佬知道是为什么?

参考代码:

#include<iostream>
using namespace std;
int main()
{
    int n;
    int a = 0;
    int b = 0;
    int sum = 0;
    while (scanf("%d",&n)!=0)
    {
        sum = 0;
        while (1)
        {
            a = n / 3;//汽水数
            sum += a;
            b = n % 3;//剩余空瓶数
            n = a + b;//总的空瓶数
            if (n == 2)
            {
                sum++;
                break;
            }
            if (n< 2)
                break;
        }
        cout << sum << endl;
    }
    return 0;
}

 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

#include<iostream>
using namespace std;
int main()
{
    int n;
    int a = 0;
    int b = 0;
    int sum = 0;
    while (scanf("%d",&n)!=EOF)
    {
        if(n==0)break;
        sum = 0;
        while (1)
        {
            a = n / 3;//汽水数
            sum += a;
            b = n % 3;//剩余空瓶数
            n = a + b;//总的空瓶数
            if (n == 2)
            {
                sum++;
                break;
            }
            if (n< 2)
                break;
        }
        cout << sum << endl;
    }
    return 0;
}
while (scanf("%d",&n)!=0)这里,当n输入0的时候,scanf函数会返回1,只能在循环里判断if(n==0break
2022-07-13 19:39:50
  • «
  • 1
  • »