您的当前位置:首页正文

2021数据结构作业反思

2024-11-10 来源:个人技术集锦

是蒟蒻,大佬嘲笑我的时候请轻轻的。易碎品,建议轻拿轻放。

任务描述
本关任务:试编写算法,计算函数值:n! * 2^n
函数原型:int suanfa(int a[], int n,int arrsize)
功能说明:计算 i!*2^i 的值并存入数组 a[0…arrsize-1]的第 i-1 个分量中(i=1,2,…,n)。假设计算机中允许的整数最大值为 INT_MAX,则当 n>arrsize 或对某个 1<=k<=n,使得k!*2^k>INT_MAX 时,函数返回值为0;无错误时返回1。

#define INT_MAX 185794561
int suanfa(int a[],int n, int arrsize)
{
/**********begin**********/
    if(n>arrsize){
        return 0;
    }
    int i, jc = 1, zs = 1;
    for(i=1; i<=n; i++){
        jc *= i;
        zs *= 2;
        a[i-1] = jc * zs;
        if(a[i-1]>INT_MAX){
            return 0;
        }
    }
    return 1;
/**********end**********/
}
#define INT_MAX 2147483647
int suanfa(int a[],int n, int arrsize)
{
/**********begin**********/
    if(n>arrsize){
        return 0;
    }
    int i;
    long int jc = 1, zs = 1;
    for(i=1; i<=n; i++){
        jc *= i;
        zs *= 2;
        if(jc*zs>INT_MAX){
            return 0;
        }
        a[i-1] = jc * zs;
    }
    return 1;
/**********end**********/
}

这道题其实不需要动脑子,但是我把所有的细节坑踩了个遍(救命),建议继续巩固C语言并练题。


2021.4.1


Top