简答题(1)定义判断x是否为素数的函数prime(x) (2)输入两个大于1的整数A和B,且A
输入格式:
分行输入A和B ,且A
输出格式:
输出素数和。
输入样例:
34
90
输出样例:
803
你可以参考我这篇文章 里的 优化后的暴力求解:
https://blog.csdn.net/apple_53792700/article/details/127575792
具体实现如下
import math
def prime( x ):
# 遍历除 1 以外所有比自己小的整数
sq = int(math.sqrt(x))
for i in range(2,sq+1):
if( x%i == 0 ):
# 如果 x 可以被 i 整除 那么就返回的 假 代表这个数不是素数
return False
else :
#/* 如果不能被 i 整除就继续遍历 */ }
pass
# 如果除 1 以外所有比自己小的整数都不能被整除,那么他就是素数
if( x <= 1 ):
return False
else :
return True
sum = 0
a = int(input())
b = int(input())
while ( a <= b ) :
if( prime(a) ):
sum+=a
a+=1
print(sum)
#include <stdio.h>
#include <math.h>
bool prime( int x ){
// 遍历除 1 以外所有比自己小的整数
int sq = sqrt(x);
for( int i = 2 ; i <= sq; i++ ){
if( x%i == 0 ){
// 如果 x 可以被 i 整除 那么就返回的 假 代表这个数不是素数
return false;
} else { /* 如果不能被 i 整除就继续遍历 */ }
}
// 如果除 1 以外所有比自己小的整数都不能被整除,那么他就是素数
if( x <= 1 ){
return false;
} else {
return true;
}
}
int main() {
int a , b ;
int sum = 0;
scanf("%d%d",&a,&b);
while ( a <= b ) {
if( prime(a) ){
sum+=a;
}
a++;
}
printf("%d",sum);
}