在一个向量中找到质数,并在另一个向量中反过来打印出来。

问题是:x是一个有n个元素的向量……建立另一个向量y,它将包含x的质元素,但顺序相反。我的代码,不知道我做错了什么。

Vs code

解决方案:

在第16行使用的for循环中,你应该在递增i的同时递减i的值,即i–,这可能会导致它成为一个无限循环。另外,你还没有处理if v[i] = 1这个条件。根据你的代码,它将显示1为质数,尽管它不应该,而且你已经声明isPrime为循环外,这将导致错误的答案。让我们假设所有的数字都是质数,并为输入向量中的每个元素设置isPrime为’true’。

for(int i = n-1; i >= 0 ; i--){
    bool isPrime = true;
    if(v[i] == 1){
        continue;
    }
    for(int j = 2; j < v[i]; j++){
        if(v[i] % j == 0){
             isPrime = false;
             break;
        }
   }

   if(isPrime){
       y.push_back(v[i]);
   }
}

试试这个: 应该可以了

给TA打赏
共{{data.count}}人
人已打赏
未分类

IE 11 文件选择问题--远程连接上的文件丢失。

2022-11-13 20:54:33

未分类

如何在不使用DateTimeFormatter的情况下将字符串转换为LocalDate [重复]。

2022-11-13 21:05:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索