问题一
【问题描述】
设计一个程序,对于用户输入的任意正整数a(a≥1)和b(b≥2),求出满足bn≤a的最大整数n。
【输入形式】
两个数。
【输出形式】
一个数据。
【样例输入】
30 5
【样例输出】
2
#include<iostream> #include<cmath> using namespace std; int main() { int a, b, n; cin >> a >> b; n = log(a) / log(b); cout << n; return 0; }
以e为底,直接log()
自定义以a为底,则log()/log(a)
以10为底,log10()
问题二
将10进制正整数转换为16进制;
示例输入
2019
输出
7E3
#include<iostream> #include<string> using namespace std; int main() { int N; cin >> N; int a; string s = " "; if (N == 0) cout << N; else { while (N > 0) { a = N % 16; if (a < 10) s = char('0'+a) + s;//10以内数字不用换 else s = char('A' + a - 10) + s;//数字转换成字母 N = N / 16; } cout << s; } return 0; }