编写R语言函数 找出1000 以内所有恰好有且只有两组不同质数相加得到的偶数注意最后输出的结果要包括偶数本身以及对应的两个相加的质数
prime_sum <- function(n){ primes <- primes(n) # 获取 n 以内的所有质数 even <- seq(2, n, by = 2) # 生成偶数序列 result <- c() # 用于存储结果的向量 for(i in even){ count <- 0 # 计数器,用于记录当前偶数满足条件的组数 for(j in primes){ if(j > i/2){ # 如果当前质数已经大于偶数的一半,则退出循环 break } if(is_prime(i-j) && count < 2){ # 如果 i-j 是质数且当前偶数满足条件的组数小于 2,则将 j 和 i-j 加入结果 count <- count + 1 result <- c(result, i, j, i-j) } } } return(matrix(result, ncol = 3, byrow = TRUE)) # 将结果转换为矩阵形式输出 }
prime_sum(1000) # 测试函
原文地址: https://www.cveoy.top/t/topic/fera 著作权归作者所有。请勿转载和采集!