演算法3-1:八進位制數
題目描述
將十進位制數轉換為八進位制,並輸出。
圖:將十進位制數轉換為八進位制並輸出
輸入描述
輸入包含若干十進位制正整數。
輸出描述
輸出相應的八進位制數,每個佔一行。
輸入樣例
1 2 3 7 8 9 19 10020345輸出樣例
1 2 3 7 10 11 23 46162771提示
提示:
書上有相應的演算法,需要補充缺失的函式。
總結:
1、數值轉換使用到堆疊,但是用函式呼叫(系統的堆疊)將會更為方便。
2、書中的演算法實際上只能處理正整數,你有更好的方法還能夠處理0和負整數麼?
#include<stdio.h> #include<math.h> #include<string.h> int main() { long long num; while (scanf("%lld",&num)!=EOF) { printf("%o\n",num); } return 0; }
相關推薦
演算法3-1:八進位制數
題目描述 將十進位制數轉換為八進位制,並輸出。 圖:將十進位制數轉換為八進位制並輸出 輸入描述 輸入包含若干十進位制正整數。 輸出描述 輸出相應的八進位制數,每個佔一行。 輸入樣例
2765 :八進位制小數
總時間限制: 1000ms 記憶體限制: 65536kB 描述 八進位制小數可以用十進位制小數精確的表示。比如,八進位制裡面的0.75等於十進位制裡面的0.963125 (7/8 + 5/64)。所有小數點後位數為n的八進位制小數都可以表示成小數點後位數不多於3
藍橋杯 演算法提高 ADV-97 十進位制數轉八進位制數
演算法提高 十進位制數轉八進位制數 時間限制:1.0s 記憶體限制:512.0MB 編寫函式,其功能為把一個十進位制數轉換為其對應的八進位制數。程式讀入一個十進位制數,呼叫該函式實現數制轉換後,輸出對應的八進位制數。 樣例輸入 9274 樣例輸出 22072 樣例輸入 18 樣例輸出
程式設計,輸入一個10進位制正整數,然後輸出它所對應的八進位制數。
方法一 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); whil
Java程式設計:10進位制數、62進位制數進行相互轉換
場景:要求隨機生成長度較短的使用者名稱,保證使用者名稱唯一,同時保證使用者名稱不易被推測出。 解決思路:按序生成唯一序列號,通過演算法將序列號進行混淆,之後將其轉化為 62 進位制的 11 位字串。通
藍橋杯 給定n個十六進位制正整數,輸出它們對應的八進位制數。
問題描述 給定n個十六進位制正整數,輸出它們對應的八進位制數。 輸入格式 輸入的第一行為一個正整數n (1<=n<=10)。 接下來n行,每行一個由0~9、大寫字母A~F
關於c語言三位八進位制數越界的探討
1:\ddd;我們知道,\ddd是對用三位八進位制數轉義表示任意字元的形象化描述,但對d的取值限定在0-7之間,那麼我們不禁要問,如果超過了這個範圍會輸出些什麼,隨機數?開始我也是這麼覺得的,後來用v
八進位制 輸入一個整數,將其轉換成八進位制數輸出
輸入一個整數,將其轉換成八進位制數輸出。 輸入:12 輸出:14 輸入:9 輸出:11 #include <iostream> using namespace std; i
藍橋杯:十六進位制轉八進位制的高效演算法
總算是在提交了11次都錯誤之後,第12次過了。也是無語。現在的演算法,按照藍橋杯系統給的10個測試數,顯示耗時31ms,記憶體佔用3.589MB。 問題描述 給定n個十六進位制正整數,輸出它們對應的八進位制數。 輸入格式 輸入的第一行為一個正整數n (1<
Python程式設計:二進位制,八進位制,十六進位制與十進位制之間的轉換
進位制轉換的函式 bin() 10進位制轉2進位制 oct() 10進位制轉8進位制 hex()10進位制轉16進位制 int() *進位制轉10進位制 各進位制之間轉換 ↓ 2進位制 8進位制
藍橋杯: 基礎練習 十六進位制轉八進位制
問題描述 給定n個十六進位制正整數,輸出它們對應的八進位制數。 輸入格式 輸入的第一行為一個正整數n (1<=n<=10)。 接下來n行,每行一個由0~9、大寫字母A~F組成的字串,表示要轉換的十六進位制正整數,每個十六進位制數長度不超過100000。 輸出格式 輸出n行,每行
python : 二進位制、八進位制,十進位制和十六進位制的相互轉換
二進位制、八進位制和十六進位制轉化為十進位制: 二進位制轉化為十進位制:print(int("111",2)) 輸出為7 八進位制轉化為十進位制:print(int("11",8)) 輸出為9 十六進位制轉化為十
進位制轉換:二進位制、八進位制、十六進位制、轉十進位制
將二進位制、八進位制、十六進位制等轉換為十進位制 二進位制、八進位制和十六進位制向十進位制轉換都非常容易,就是“按權相加”。所謂“權”,也即“位權”。 假設當前數字是 N 進位制,那麼: 對於整數部分,從右往左看,第 i 位的位權等於Ni-1 對於小數部分,恰好相反,要從左往右看,第 i 位
易學筆記-第5章:數字/5.10 十六進位制、八進位制、二進位制
各種進製表示 二進位制開頭:0b >>> 0b1,0b1000,0b11111111 (1, 8, 255) 八進位制開頭 :0o >>> 0o10,0o20,0o30 (8, 16, 24) 十六進位制
“全棧2019”Java第十四章:二進位制、八進位制、十六進位制
難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第十四章:二進位制、八進位制、十六進位制 下一章 “全棧2019”Java第十五章:Unic
藍橋杯(java):特殊迴文數,十進位制轉十六進位制,十六進位制轉十進位制,十六進位制轉八進位制,數列排序
人生不易,生活無趣。一起來找點樂子吧。 特殊迴文數: 問題描述 123321是一個非常特殊的數,它從左邊讀和從右邊讀是一樣的。 輸入一個正整數n, 程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 。 輸入格式 輸入一行,包
藍橋杯:BASIC-12 十六進位制轉八進位制
問題描述: 給定n個十六進位制正整數,輸出它們對應的八進位制數。 輸入格式: 輸入的第一行為一個正整數n (1<=n<=10)。 接下來n行,每行一個由0~9、大寫字母A~F組成的字串,表示要轉換的十六進位制正整數,每個十六進位制數長度不超過100000。 輸出格式:
八進位制與十六進位制的演算法
除了二進位制,程式設計中也經常使用八進位制和十六進位制。 八進位制有0~7共8個數字,基數為8,逢八進一,借一當八;十六進位制中,用A來表示10,B表示11,C表示12,D表示13,E表示14,F表示15,因此有0~F共16個數字,基數為16,逢16進1,借1當16。例如:
Python: 二進位制、八進位制、十六進位制轉換或者輸出
為了將整數轉換為二進位制、八進位制或十六進位制的文字串,可以分別使用bin() ,oct() 或hex() 函式: >>> x = 1234 >>> bin(x) '0b10011010010' >>> oct(x) '0o2322' >&g
十進位制轉八進位制 轉二進位制 java實現
程式碼 private static void myToOctalString(int a) { String str = ""; while (true) { str = a % 8 + str; a = a / 8; if (a == 0) bre