国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java硬幣翻轉倍數遞增試算實例

2019-11-26 15:51:11
字體:
來源:轉載
供稿:網友

//有何不足或者問題希望能夠得到各位的多多指正,不勝感激

復制代碼 代碼如下:

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 stub
  int 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();
 }

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荃湾区| 道真| 乐亭县| 和龙市| 神池县| 贵南县| 开化县| 巴东县| 泗洪县| 抚宁县| 北辰区| 藁城市| 乃东县| 青神县| 孟津县| 吐鲁番市| 郸城县| 平南县| 建平县| 吉木萨尔县| 邯郸县| 永昌县| 巍山| 满城县| 绥化市| 天镇县| 武安市| 灵台县| 大新县| 瓦房店市| 雷波县| 辛集市| 阳城县| 腾冲县| 额济纳旗| 牡丹江市| 桂东县| 奉化市| 儋州市| 汨罗市| 修水县|