【C++】实用数学无聊小程序

推荐

模拟帝国类游戏(c++语言)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/2301_79396857/article/details/134742492

程序实现

程序满足让用户输入一个数字(如果用户输入其它字符则将其转为其ASCII编码),

随后分别输出这个数的在多大的数据范围(如short int,int,long……取最短能取的范围)内、

在这个数的平方根是整数的情况下输出这个数的平方根、

在这个数的立方根是整数的情况下输出这个数的立方根,

输出这个数是否为质数、

输出这个数的所有因数、

输出二进制形式的这个数、

输出十六进制形式的这个数

效果展示

【C++】实用数学无聊小程序_第1张图片

源代码

#include   
#include   
#include   
#include   
#include 
#include 
using namespace std;  
// 判断是否为质数  
bool isPrime(long long n) {  
    if (n <= 1) return false;  
    for (long long i = 2; i * i <= n; i++) {  
        if (n % i == 0) return false;  
    }  
    return true;  
}  
  
// 输出因数  
void printDivisors(long long n) {  
    cout << n <<"的所以因数"<< "有: ";  
    for (long long i = 1; i <= n; i++) {  
        if (n % i == 0) {  
            cout << i << " ";  
        }  
    }  
    cout << endl;  
}  
  
int main() {  
    long long num;  
    cout << "输入一个数: ";  
    cin >> num;  
    cout << "你输入的数字是:" << num << endl;  
  
    // 判断并输出数据类型范围  
    cout << "这个数的范围是: ";  
    if (num >= SHRT_MIN && num <= SHRT_MAX) {  
        cout << "short int" << endl;  
    } else if (num >= INT_MIN && num <= INT_MAX) {  
        cout << "int" << endl;  
    } else if (num >= LONG_MIN && num <= LONG_MAX) {  
        cout << "long int" << endl;  
    } else {  
        cout << "long long int "<< endl;  
    }  
  
    // 判断并输出平方根和立方根(如果是整数)  
    long long sqrtN = sqrt(num);  
    long long cbrtN = cbrt(num);  
    if (sqrtN == (long long)sqrtN) {  
        cout << "这个数的平方根(约等于): " << sqrtN << endl;  
    } else {  
        cout << "这个数的平方根不是一个整数" << endl;  
    }  
    if (cbrtN == (long long)cbrtN) {  
        cout << "这个数的立方根(约等于): " << cbrtN << endl;  
    } else {  
        cout << "这个数的立方根不是一个整数" << endl;  
    }  
  
    // 判断是否为质数并输出结果  
    if (isPrime(num)) {  
        cout << "这个数是质数" << endl;  
    } else {  
        cout << "这个数不是质数" << endl;  
    }  
  
  	printDivisors(num); // 输出所有因数。  
  	
    // 输出因数和二进制、十六进制形式(如果是整数)  
    cout << "这个数的二进制形式): " << bitset<32>(num) << endl; // 32位二进制表示,根据实际情况可能需要调整位数。  
    cout << "这个数的十六进制形式:" << hex << num << endl; // 使用hex流操纵符输出十六进制形式。  
    return 0;  
}

作者有话说

给个赞再走,求求了!!!

链接直达

模拟帝国类游戏(c++语言)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/2301_79396857/article/details/134742492

你可能感兴趣的:(c++,开发语言)