请求他人对自己的代码进行 debug
查看原帖
请求他人对自己的代码进行 debug
1376088
tiantian0820楼主2025/6/30 09:36
#include<cstdio>
using namespace std;
int n;
bool o(int n) {
  return n!=0&&(n&(n-1))==0;

}
bool p(int n) {
  for(int i=2; i*i<=n; i++)
    if(n%i==0) {
      return 0;
    }
  return 1;
}
int main() {
  scanf("%d",&n);
  switch(n) {
    case 1: {
      printf("x-1");
      return 0;
    }
    case 2: {
      printf("(x-1)(x+1)");
      return 0;
    }
    case 3: {
      printf("(x-1)(x^2+x+1)");
      return 0;
    }
    case 4: {
      printf("(x-1)(x+1)(x^2+1)");
      return 0;
    }
    default: {
      if(p(n)) {
        printf("(x-1)(");//x+1)
        for(int i=n-1; i>=2; i--) {
          printf("x^%d+",i);//x+1)
        }
        printf("x+1)");//x+1)
        return 0;
      }
      if(o(n)) {
        printf("(x-1)");//x+1)
        for(int i=2; i<n; i<<=1) {
          printf("(x^%d+1)",i);//x+1)
        }
        return 0;
      }

    }
  }
  return 0;
}
2025/6/30 09:36
加载中...