藍橋杯練習day3

2021-10-08 13:52:17 字數 2539 閱讀 9662

1.試題 基礎練習 十進位制轉十六進製制

問題描述

十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推,十進位制的30在十六進製制中是1e給出乙個非負整數,將它表示成十六進製制的形式。

輸入格式   輸入包含乙個非負整數a,表示要轉換的數。0<=a<=2147483647

問題分析:

大家都知道,十進位制轉換為其他進製的方法是"除基取餘,逆序排列"

除法運算和求餘運算都很簡單,那麼怎樣取輸出十六進製制數呢?

我想到兩種方法 1.利用asc2碼 2.利用陣列 例如

char basechar [16]

=;

**:

#include

intmain()

;int ans[10]

=, number=

0, n=0;

scanf

("%d"

,&number);do

while

(number)

;while

(n)return0;

}

2.試題 基礎練習 十六進製制轉十進位制

問題描述

從鍵盤輸入乙個不超過8位的正的十六進製制數字串,將它轉換為正的十進位制數後輸出。

注:十六進製制數中的10~15分別用大寫的英文本母a、b、c、d、e、f表示。

問題分析:

這題就沒啥好說的,按權展開就好了,注意8位十六進製制數轉十進位制後會比較大

所以用 long long.

**:

#include

#include

#include

intmain()

printf

("%lld"

,s);

}

3.試題 基礎練習 十六進製制轉八進位制

問題描述

給定n個十六進製制正整數,輸出它們對應的八進位制數。

輸入格式   輸入的第一行為乙個正整數n (1<=n<=10)。

接下來n行,每行乙個由0 ~ 9、大寫字母a~f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。

問題分析:

這一題,有點麻煩,思路比較明了,方法的話,先轉為十進位制,再轉為八進位制可以

先轉為二進位制再轉為八進位制也可以,.但數非常大,感覺十進位制不太可以.還害怕超時.借鑑了一下朋友的**.

**:

#include

#include

void

fun_two

(char a,

char c)

}int

fun_eight

(char a,

char b,

char c)

void

fun_main()

,c[200000

],d[3]

=;flag=0;

scanf

("%s"

,a);

lena=

strlen

(a);

for(j=

0;j) lenb=

strlen

(b);

k1=lenb/3;

k2=lenb%3;

for(j=

0;j(k2!=0)

y=fun_eight

(d[0

],d[1]

,d[2])

;if(y!=0)

}strcpy

(b,"\0");

for(j=k1-

1;j>=

0;j--

)printf

("\n");

}int

main()

,c[200000

],d[3]

=;scanf

("%d"

,&n)

;for

(i=0

;i)return0;

}

結果:

他一直刷不出來,我在別的**上測試成功了,不管了,明天再看

當然,我知道有"簡單方法":

比如第一題可以這麼做

#include

intmain()

但總要整點好

藍橋杯訓練day3

問題 1102 明明的隨機數 時間限制 1sec 記憶體限制 128mb 提交 2182 解決 935 題目描述 明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數 n 100 對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對...

藍橋杯 計數問題 day3

題目 題目描述 試計算在區間 1 到 n 的所有整數中,數字 x 0 x 9 共出現了多少次?例如,在 1 到 11 中,即在 1 2 3 4 5 6 7 8 9 10 11 中,數字 1 出現了 4 次。示例輸入描述 輸入共 1 行,包含 2 個整數 n x,之間用乙個空格隔開。其中,1 n 10...

藍橋杯練習day5

1.矩陣乘法 題目描述 給定乙個n階矩陣a,輸出a的m次冪 m是非負整數 例如 a 1 23 4 a的2次冪 7 10 15 22 輸入第一行是乙個正整數n m 1 n 30,0 m 5 表示矩陣a的階數和要求的冪數 接下來n行,每行n個絕對值不超過10的非負整數,描述矩陣a的值 解題分析 是一道數...