首页 > 解决方案 > 出现运行时错误:来自 abort(3) (SIGABRT) 的中止信号

问题描述

在https://practice.geeksforgeeks.org/problems/product-of-primes5328/1上提交代码时出错,

不知道为什么某些测试用例会出现此错误。请帮忙

long long primeProduct(long long L, long long R){
            
            vector<bool> ans(R-L+1, true);
            
            for(int i=2; i*i<= R; i++){
                int startIndex = (i*(ceil(L*1.0/i)))-L;
                for(int j = startIndex; j<=R; j+=i){
                    if(i == L+j) continue;
                    ans[j] = false;
                }
            }
            
            long long product = 1;
            int M = 1e9+7;
            for(int i=0; i<ans.size(); i++){
                if(ans[i] == true){
                    // cout<<L+i<<" ";
                    product = (product * (L+i) ) % M;
                }
            }
            return product;
        }

标签: runtime-errorruntimedsa

解决方案


推荐阅读