黑马程序员-----------反向推导的尝试
2014-09-20 21:28
225 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
/*
* 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路)
* 分析:1,要使28个人都能喝到,假设需要x瓶,x对3取余,1瓶可乐要3瓶盖,
* 2,先假设有x瓶,看够多少人喝,然后反向推导
* 3,找到规律,总瓶数中没有3的倍数,因为是3的倍数的话还可以换
*
*
*/
import java.io.*;
public class TestString extends Thread {
public static void main(String[] args) throws Exception {
method_1(28);
}
private static void method_1(int p) throws Exception {
// 当是3的倍数时,需要多拿一瓶,
if (p % 3 == 0) {
int p1 = mehod_2(p + 1);
System.out.println(p1);
}
// 当不是3的倍数是不需要多拿,
else {
int p1 = mehod_2(p);
System.out.println(p1);
}
}
// 定义方法返回需要的瓶数
private static int mehod_2(int p) {
int i = 0, j = 0, p1 = 0, p2 = 0, s = 0;
while (s != p) {
p1++;
p2 = p1;
s = p2;
while (p2 >= 3) {
i = p2 % 3;
j = p2 / 3;
p2 = i + j;
s += j;
}
}
return p1;
}
}
相关文章推荐
- CNN反向传播推导
- Batch Normalization 反向传播(backpropagation )公式的推导
- 神经网络中的反向传播的推导和python实现
- DNN反向传播推导过程
- 大数据与人工智能基础系列7 反向传导算法理论推导
- 黑马程序员——System.in.read()初次尝试
- 反向传播的数学推导
- CNN的反向传播推导与理解
- 神经网络反向传播公式的推导
- softmax及交叉熵损失的反向传递推导及实现
- 反向传导算法 推导
- 总结2: Batch Normalization反向传播公式推导及其向量化
- [deeplearning-005] 一般形式的反向传导算法BP最简推导-3
- 反向传播(Back propagation)算法推导具体过程
- BP(反向传播)算法和CNN反向传播算法推导(转载)
- 面试之逻辑推理系列--从“分金条付工资”看逻辑推理题中的数学推导及反向推理的策略
- 前反馈神经网络的手工推导和第一Matlab尝试
- 反向传播及softmax算法推导
- 反向传导算法的推导
- 黑马程序员_活动:100以内素数之和、数组排序阶梯状输出、反向打印杨辉三角