C++实验二

问题一

【问题描述】

设计一个程序,对于用户输入的任意正整数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;
}
原文地址:https://www.cnblogs.com/dk2154/p/14128610.html