汽水瓶c语言编程,汽水瓶 (C++代码)

解题思路:

首先解决单个数据的问题,然后利用数组解决多组数据的问题;

通过一定的规律可以发现利用运算符的次数可以得到结果。

注意事项:

注意余数大于0余数等于0的情况。

以下三个代码1为基础,2、3利用数组解决(通过了C语言网的测试),三个代码均在Dev-C++上编译通过。

1.参考代码(单个数据的输入输出代码):

#include

#include

using namespace std;

int main(){

int N,count=0;

int n=0;

cin>>N;

int M=N;

for(;M/3!=0;){

if(M%3>0)

count++;

M=M/3;

count++;

}

for(int i=0;i

n=N/3+n;

N=N/3+N%3;

}if(N%3==2)

n++;

cout<

return 0;

}

2.参考代码(先输入后输出):

#include

#include

using namespace std;

int main(){

int N[100],count=1,n=0,i=0,j=0;

int p;

int M[100];

int count1;

cin>>N[0];

for(;N[i]!=0;i++){

cin>>N[i+1];

count++;

}

for( int k=0;k

M[k]=N[k];

}

for(i=0;i

count1=0;

n=0;

for(;N[i]/3!=0;){

if(N[i]%3>0)

count1++;//此处判断余数大于0,

N[i]=N[i]/3;

count1++;}

for( j=0;j

n=M[i]/3+n;

M[i]=M[i]/3+M[i]%3;}

if(M[i]%3==2)

n++;

if(M[i]!=0)

cout<

cout<

}

return 0;

}

3.参考代码(一个输入一个输出)

#include

#include

using namespace std;

int main(){

int N[100],count=1,n=0,i=0,j=0;

int p;

int M[100];

int count1=0;

cin>>N[0];

M[0]=N[0];

for(;N[i]!=0;i++){

for(;N[i]/3!=0;){

if(N[i]%3>0)//此处应当注意判断余数大于 0

count1++;

N[i]=N[i]/3;

count1++;

}

for( j=0;j

n=M[i]/3+n;

M[i]=M[i]/3+M[i]%3;}

if(M[i]%3==2)

n++;

if(M[i]!=0)

cout<

n=0;

count1=0;

cin>>N[i+1];

M[i+1]=N[i+1];

}

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值