程序设计:数组求大于等于lim.

img


求大于等于lim并且小于100的所有素数并放在aa数组中,该函数返回所求出素数的个数,在program和end里面作答

代码补充如下:

int fun(int lim, int aa[MAX])
{
    int cnt = 0, i = 0;
    int j = 2;
    for (i = lim; i < 100; i++)
    {
        //判断i是否是素数
        j = 2;
        for (; j < i; j++)
        {
            if (i % j == 0)
                break;
        }
        if (j == i)
        {
            aa[cnt] = i;
            cnt++;
        }
    }
    return cnt;
}



int fun(int lim,int aa[MAX])
{
    int n=0;
    for(int i=lim;i<=100;i++)
    {
        if(i <= 1)
            continue;
        if(i==2)
        {
            aa[n++] = 2;
            continue;
        }
        for(int j=2;j<i;j++)
        {
            if(i%j==0)
                break;
        }
        if(j>=i)
           aa[n++] = i;
    }
    return n;
}
 

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下,以下是几种不同语言的实现代码。
以下是 Python 的实现:

def primes(lim):
    aa = []
    count = 0
    for i in range(lim, 100):
        flag = True
        for j in range(2, i):
            if i % j == 0:
                flag = False
                break
        if flag:
            aa.append(i)
            count += 1
    return count, aa

# 示例调用
count, aa = primes(50)
print(count)
print(aa)

以下是 C 语言的实现:

#include <stdio.h>
#include <stdbool.h>

int primes(int lim, int aa[]) {
    int count = 0;
    for (int i = lim; i < 100; i++) {
        bool flag = true;
        for (int j = 2; j < i; j++) {
            if (i % j == 0) {
                flag = false;
                break;
            }
        }
        if (flag) {
            aa[count++] = i;
        }
    }
    return count;
}

// 示例调用
int main() {
    int aa[50];
    int count = primes(50, aa);
    printf("%d\n", count);
    for (int i = 0; i < count; i++) {
        printf("%d ", aa[i]);
    }
    printf("\n");
    return 0;
}

以下是 C++ 的实现:

#include <iostream>
#include <vector>

using namespace std;

int primes(int lim, vector<int>& aa) {
    int count = 0;
    for (int i = lim; i < 100; i++) {
        bool flag = true;
        for (int j = 2; j < i; j++) {
            if (i % j == 0) {
                flag = false;
                break;
            }
        }
        if (flag) {
            aa.push_back(i);
            count++;
        }
    }
    return count;
}

// 示例调用
int main() {
    vector<int> aa;
    int count = primes(50, aa);
    cout << count << endl;
    for (int i = 0; i < count; i++) {
        cout << aa[i] << " ";
    }
    cout << endl;
    return 0;
}

注意,以上实现中,我们使用了一个双重循环来遍历所有可能的素数,对于每个数,我们判断它是否为素数,如果是,则将其加入到 aa 数组中。最后,返回素数的个数 countaa 数组。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

供参考:

int fun(int lim, int aa[MAX])
{
    /*********Program*********/
    int c = 0, i, j;
    for (i = lim; i < MAX; i++)
    {
        for (j = 2; j < i; j++)
        {
            if (i % j == 0)
                break;
        }
        if (j == i)
            aa[c++] = i;
    }
    return c;
    /**********End************/
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632