MySQL_用sql写出喝汽水的问题
youxin
阅读:86
2022-07-29 11:50:59
评论:0
今天遇到一个有趣的sql,练习一下
题目:一家冷饮店,一瓶汽水1元钱,喝完汽水后,用2个空瓶可以换1瓶汽水,若你有20元钱,最多可以喝到几瓶汽水?(用sql写出)
用表格列出过程:
如果没有思路时,可以先用程序写出结果,其过程和sql差别不大
int func(int m) { int n=1, s; //n:这次新换的,s:上一次换过之后剩余的 int sum = m; //初始化总换取的数量为所给钱数 while (n!=0) { n = m / 2; s = m % 2; m = n + s; sum = sum + n; } return sum; }
注:具体代码其实和sql写法大致差不多
用同样的思路,转换为sql,运行结果:
declare @n int -- 上次换掉剩余的的旧空瓶 declare @m int -- 当前一共有的空瓶数 declare @s int -- 总共喝的瓶数 declare @sum int -- 总共喝的瓶数 -- m(当前一共有的空瓶数)=n(上次新换的瓶子)+s(上次换掉剩余的的旧空瓶) set @m = 20 set @n = 1 set @sum = @m WHILE @n != 0 BEGIN SET @n = @m / 2 SET @s = @m % 2 SET @m = @n + @s SET @sum = @sum + @n END print @sum
本文参考链接:https://www.cnblogs.com/mmdz/p/12899850.html
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。