#include <stdio.h>
#include <math.h>//为pow函数提供头文件
int judge(int n){//试除法快速判断素数经典算法
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main(){
int n;
scanf("%d", &n);
if(judge((int) pow(2, n) - 1)){
printf("%d 1", (int) pow(2, n) - 1);//pow函数返回浮点值,在前面加(int)进行强制类型转换,pow(x, y)返回x的y次方(浮点类型)
}else{
printf("%d 0", (int) pow(2, n) - 1);
}
return 0;
}
C标准库中有专门的pow函数,如pow(x, y)返回x的y次方,注意返回值类型为浮点类型,必要时使用强制类型转换。声明在<math.h>头文件中。