如何使用函数求素数和,PTA

简答题(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);
}