求助!!!
最近在刷一道求素数的问题,问题描述如下:
| 描述 |
|---|
| 输入一个整数m,输出比m小的最大的素数。 |
| 输入 |
| 一个正整数n,表示测试案例的数量。 每组测试案例中有一个整数m。 |
| 输出 |
| 针对每组案例,输出一个整数,表示比m小的最大的素数。如果比m小的数字里没有素数,则输出-1。 每组案例输出完都要换行。 |
| 样例输入复制样例 |
| 3 11 15 0 |
| 样例输出 |
| 7 13 -1 |
然后我CSDN找了许多大佬的代码,只能查到如何求素数,但查不到如何求上一个素数的QAQ
然后想了半天想不出来。。下面是我找到的代码@
慢慢来8
#includeusing namespace std; int f(int m) { int i, k = 0; for (i = 2; i < m; i++) { if (m % i == 0) { k++; } } if (k == 0) { return 1; } else { return 0; } } int main() { int n=0, a; cin >> a; for (a; a>= 2; a--) { if (f(a) == 1) { cout<< a< 希望有大佬路过帮忙看看怎么求出上一个素数,或者讲讲怎么在循环中输出上一个数,谢谢!!



