若两个自然连续数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,
例:2*3-1=5,因此2与3是友数对,5是友素数,
求[40,119]之间友素数对的数目。
求各位帮助谢谢了
供参考
```c
int F(int x) {
for (int i = 2; i < x; i++) {
if (x % i == 0) {//能被整除不是素数
return 0;
}
}
return 1;//不能被整除是素数,返回
}
int main() {
int i;
int count = 0;//计个数
for (i = 40; i <= 119; i++) {
int j=i+1;
if (F((i * j - 1)) == 1) {//判断结果是否是素数
printf("%d与%d是有数对,%d是有素数\n", i, j, (i * j - 1));
count++;
}
}
printf("一共有%d个有数对\n", count);
return 0;
}
望采纳
供参考:
#include<stdio.h>
int isPrime(int n)
{
int i;
if (n <= 3) return n > 1;
for (i = 2; i * i <= n; i++)
if (n % i == 0) return 0;
return 1;
}
int main()
{
int n, k = 0, i;
for (i = 40; i < 119; i++)
{
if (isPrime(i * i + i - 1)) {
k++;
printf("%d,%d\n", i, i + 1);
}
}
printf("%d\n", k);
return 0;
}