硬币翻转倍数递增试算
来源:互联网 发布:天猫双11实时数据直播 编辑:程序博客网 时间:2024/04/29 17:08
//有何不足或者问题希望能够得到各位的多多指正,不胜感激
import java.util.Scanner;/** * * @author cc 举例 100枚硬币,最初全部朝下,第一次将所有硬币反转过来, 第二次反转位置是2的倍数的硬币, * 第三次反转3的倍数,.....执行一百次,问最终共有多少个硬币面朝上? * * 1.硬币正反使用数组 1、0表示,1表示正面,0表示反面; * * * 100枚硬币的结果int[] == 1100100001000000100000000100000000001000000000000100000000000000100000000000000001000000000000000000 result coin about 1 nums = 10 */public class CoinTurn {private static int[] intCoins;public static void main(String[] args) {// TODO Auto-generated method stubint coinNum = inputNum();intCoins = new int[coinNum];/* * 初始化 */for (int i = 0; i < intCoins.length; i++) {intCoins[i] = 0;// 初始化全部朝下,即背面0}doTurnCoin();int resutltCoin = getCoinNum();System.out.println("result coin about 1 nums = " + resutltCoin);// 输出最终正面朝上的个数}private static void doTurnCoin() {/* * 翻转操作 */for (int i = 1; i < intCoins.length; i++) {// 确定倍数for (int j = i - 1; j < intCoins.length; j++) {// 循环翻转if (j % i == 0) { // 硬币序列数是当前次数的倍数,则翻转if (intCoins[j] == 0) {intCoins[j] = 1;} else {intCoins[j] = 0;}}}}}private static int getCoinNum() {int countNum = 0;// 记录最终硬币正面个数StringBuffer strB = new StringBuffer();for (int a : intCoins) {strB.append(a + "");if (1 == a)countNum++;}System.out.println("int[] == " + strB);// 输出数组的结果return countNum;}/* * coin number */private static int inputNum() {System.out.println("input coin num: ");Scanner input = new Scanner(System.in);return input.nextInt();}}
0 0
- 硬币翻转倍数递增试算
- 翻转硬币
- 硬币翻转
- 硬币翻转问题
- ACM-硬币翻转
- 矩阵翻转硬币 蓝桥杯
- 硬币翻转 蓝桥杯
- 【9803】硬币翻转
- 硬币翻转动画效果
- 硬币翻转问题
- 【OI练习】硬币翻转
- 九枚硬币翻转问题
- |洛谷|模拟|P1146 硬币翻转
- 计蒜客 硬币翻转 线段树
- 归纳算法——硬币翻转问题
- 翻转n个硬币的问题
- 计蒜客 硬币翻转(二进制压缩)
- Lightoj1080硬币翻转次数(区段更新)
- MySQL开启binlog日志
- 数据的查找
- 【致自己】如果你发现这件事怎么特别难,那么有可能这次的收获,特别大
- linux c serial communication
- 并行口实现数字0~9、A~F、L、U、P、n总共19个键盘,将按键的结果用7段数码管(例如:7SEG-MPX-CA-BLUE)显示(可选——按键控制移位)出来
- 硬币翻转倍数递增试算
- 大话设计模式之——简单工厂模式
- RAPI
- PostgreSQL学习手册(服务器配置)
- .net 中文乱码问题
- js创建对象的集中方法
- PHP获取MAC地址的代码
- struts2系列十一之 struts.xml中的include用法
- ?