51NOD 1507 大小质数

函数定义:

函数是C++中的一种可重复使用的代码块,用于完成特定的任务。以下是一个示例函数,用于计算两个整数的和:
#include <iostream>

// 定义一个名为sum的函数,接受两个整数参数,并返回它们的和
int sum(int a, int b) {
    return a + b;
}

int main() {
    int num1 = 5;
    int num2 = 7;

    // 调用sum函数,并将返回值赋给result变量
    int result = sum(num1, num2);

    std::cout << "The sum is: " << result << std::endl;

    return 0;
}
 
在上述示例中,我们定义了一个名为sum的函数,它接受两个整数参数a和b,并返回它们的和。然后,在主函数main中,我们声明了两个整数变量num1和num2,并将其分别赋值为5和7。接下来,我们调用sum函数,并将num1和num2作为参数传递给它。sum函数会将这两个参数相加,并返回结果。我们将返回值赋给result变量,并通过cout语句打印出来。
运行程序,输出结果为:
The sum is: 12

这个示例展示了函数的基本用法,可以根据需要定义不同的函数来实现不同的功能。

题目:

给出一个数 n ,求出比 n 大的第一个质数以及比 n 小的第一个质数。

例如: n=5 ,输出 7 3 ,比 5 大的第一个质数是 7 ,比 5 小的第一个质数是 3 。

输入数据:

一个数 n ( 2<n<100000000 )。

输出数据:

输出 2 个数,中间用空格分割,分别对应比 n 大的第一个质数以及比 n 小的第一个质数。

样例:

输入

5

输出

7 3

运行时间限制:不超过 1 秒
内存使用限制:不超过 128.0MB

解题思路:

定义一个函数 isprime ,输入参数是一个整数 int,返回值是一个 bool 。函数用来判断输入的数是否为质数,是质数返回 true,否则返回 false。

在 main 函数里:

  1. 从 n+1 向上枚举,调用 isprime 判断每个数是否为质数,是则输出该数。

  2. 从 n−1 向下枚举,调用 isprime 判断每个数是否为质数,是则输出该数

    bool prime(int n) {
        如果n是质数返回true,否则返回 false。
    }
    main() {
        i从n+1向上枚举,如果 prime(i) == true,则输出并退出循环。
        i从n-1向下枚举,如果 prime(i) == true,则输出并退出循环。	
    }

    整个程序可以用这样一段伪代码来描述。这样可以先构思出程序的整体框架,再考虑每一部分的实现细节。

    具体到如何判断一个数 n 是否为质数,可以从 2 到 n−1 进行试除,一旦存在 n%i==0 ,则表示 n 不是质数,可以直接返回 false,而不用等到循环到最后。

代码:

#include<bits/stdc++.h>
using namespace std;
bool is_prime(int val){
    int m=sqrt(val+0.5);
    for(int i=2;i<=m;i++){
        if(val%i==0){
            return false;
        }
    }
    return true;
}
int main(){
    int n;
    cin>>n;
    for(int j=n+1;;j++){
        if(is_prime(j)){
            cout<<j<<" ";
            break;
        }
    }
    for(int j=n-1;;j--){
        if(is_prime(j)){
            cout<<j<<endl;
        }
    }
    return 0;
}

注:本文来自51nod,为@小罐头甜编辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值