隨意輸入一個正整數n, 在輸入轉化的進位制數,將轉化後的序列輸出,並判斷某一個數字的個數,這裡給的是二進位制的例子
阿新 • • 發佈:2019-02-15
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { //判斷總共有多少個0和1 static int hex0, hex1; static List<int> hexStr = new List<int>(); static void Main(string[] args) { //十進位制的正整數,進位制數 int num, hexNum; Console.Write("請輸入一個十進位制的正整數,點選回車鍵完成輸入: "); num = int.Parse(Console.ReadLine()); Console.Write("請輸入需要轉換的進位制,點選回車鍵完成輸入: "); hexNum = int.Parse(Console.ReadLine()); //遞迴呼叫函式 Change(num, hexNum); //輸出轉換後的01序列 for (int i = 0; i < hexStr.Count; i++) { Console.Write(hexStr[i] + " "); } Console.WriteLine(); Console.WriteLine("將10進位制轉化後為" + hexNum + "後,包含" + hex0 + "個0,和" + hex1 + "個1"); Console.ReadKey(); } public static void Change(int n, int b) { if (n == 0) { return; } Change(n / b, b); hexStr.Add(n % b); if (n % b == 0) hex0++; else hex1++; } } }