我正在定义一个函数来测试一个数字是否为素数,并且我有一个有效的算法(在 Python 中)并且我已经将它的大部分移植到 Lisp。然而,问题是我的素性测试即使在不应该通过的情况下也一直通过。例如,isPrime(13)仍然达到return NIL即使它应该失败的when条件。
(defun isPrime(n)
(cond
((< n 2); numbers less than 2 aren't prime
NIL
)
((equal n 2); 2 is the only even prime
T
)
((equal (rem n 2) 0); Even numbers are never prime (besides 2)
NIL
)
((> n 2)
(loop for i from 2 to n do(
when(equal (rem n i) 0);If n is evenly divisible by i, we have found a factor other than 1 …Run Code Online (Sandbox Code Playgroud) 上下文:我正在尝试通过日志接收器将 GCP 审核日志存储在 Pub/Sub 主题中,以便我可以在订阅中提取这些消息(并让第三方订阅该订阅)。
尝试的解决方案:
带有包含过滤器的日志接收器:logName:"cloudaudit.googleapis.com"将日志路由到-> Pub/Sub 主题以存储这些消息->订阅(基于拉取)以查看这些消息。
问题:来自接收器的日志似乎并未出现在主题中。当我尝试查看主题中的消息(通过单击 GCP GUI 中的“pull”)时,我没有收到任何消息,即使我确信审核日志存在(我针对上面的包含过滤器运行了查询)并继续非常频繁地生成。
问题:为什么日志没有路由到主题,或者为什么当我从主题拉取时主题没有显示日志?
logging producer-consumer audit-logging google-cloud-platform google-cloud-pubsub
我正在尝试制作一个可以生成随机数并指定随机数可以是多少位的函数。
更具体地说,我正在尝试生成一个长度为 8、10 或 12 位的数字。该位数由另一个变量指定。
然后我想将此数字表示为字符串中的十六进制或十进制中的有符号和无符号整数。我想我可以为那部分使用各种 Integer.toString 方法。
我将如何在 Java 中生成特定的位长随机数?
到目前为止,我已经有了这个函数框架:
public static String generateQuestion(int numBits, int taskType){
String questionStr = "";
String questionVal = ""; // This is the string hexadecimal version of the randomly generated number
// TODO: Code to generate random value based on numBits
switch(taskType){
case 0: // Hex to Decimal
questionStr = "What are the signed and unsigned values for the " + numBits + "-bit value " + questionVal + "?";
return …Run Code Online (Sandbox Code Playgroud) 我必须确定列表中的所有数字是否都是素数,然后根据结果返回布尔“True”或“False”语句。我在 for 循环中做了一些条件语句来查看该数字是否为素数。
这是代码:
def all_primes(xs):
is_prime = None
for i in xs:
if i < 2:
is_prime = False
return is_prime
break
elif (i % 2 == 0) and (i % i == 1):
is_prime = False
return is_prime
break
else:
is_prime = True
return is_prime
Run Code Online (Sandbox Code Playgroud)
问题是,我在 Python Visualizer 中看到了这一点,for 循环在检查列表中的第一个值后停止迭代。我不明白为什么,因为语法与我过去使用的 for 循环相同。
我插入了一些示例值,例如:all_primes([5,2,11,37])or all_primes([5,2,4,37]),并且返回值始终为 true,因为 5 是列表中的第一个数字,也是唯一被迭代的数字。
有什么想法吗?