6 条题解

  • 1
    @ 2023-12-14 15:22:06
    #include<stdio.h>
    void convert(int x,int n){
    if(x==0)
    return;
    convert(x/n,n);
    printf("%d",x%n);
    }
    int main(){
    int x,n;
    scanf("%d%d",&x,&n);  
    if(x==0)
    printf("0");
    else
    convert(x, n);
    printf("\n"); 
    while(x>1&&x%n==0){
    x /= n;
    }
    if(x == 1)
    printf("yes");
    else
    printf("no");
    return 0;
    }
    
    • 0
      @ 2023-12-15 18:00:59

      #include <stdio.h> void fun1(int n,int m,int a[32],int i); void fun2(int n,int m); int main() { int n,m,a[32],i=0; scanf("%d%d", &n,&m); fun1(n,m,a,i); fun2(n,m); return 0; }

      void fun1(int n,int m,int a[32],int i) { while (n > 0) { a[i] = n % m; n = n / m; i++; } for (int j = i - 1; j >= 0; j--) { printf("%d", a[j]); }

      }

      void fun2(int n,int m) { printf("\n"); int x=n; while(x!=1) { if(x%m!=0) break; x=x/m; } if(x==1) printf("yes"); else printf("no");

      }

      • 0
        @ 2023-12-15 13:43:56
        //升级版。能转化成任意进制,只要在a里添加映射的元素即可
        #include <stdio.h>
        char a[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
        void convert(int x,int n){
        if(x==0)
        return;
        convert(x/n,n);
        printf("%c",a[x%n]);
        }
        int main(){
        int x,n;
        scanf("%d%d",&x,&n);  
        if(x==0)
        printf("0");
        else
        convert(x, n);
        printf("\n"); 
        while(x>1&&x%n==0){
        x /= n;
        }
        if(x == 1)
        printf("yes");
        else
        printf("no");
        return 0;
        }
        
        • 0
          @ 2023-12-14 15:20:03

          /站在巨人肩膀上的最优代码/ #include<stdio.h> void convert(int x,int n) { if(x0) return; convert(x/n,n); printf("%d",x%n); } int main() { int x,n; scanf("%d%d",&x,&n); if(x0) printf("0"); else convert(x, n); printf("\n"); while(x>1&&x%n==0) { x /= n; } if(x == 1) printf("yes"); else printf("no"); return 0; }

          • 0
            @ 2023-12-11 21:39:11

            #include<stdio.h> int main() { int x,n,m=0,sum=0,num=0; int a[10000]; scanf("%d%d",&x,&n); num=x; for(int i=0;x>0;i++) { m=x%n; x=x/n; a[i]=m; sum++; } for(int j=sum-1;j>=0;j--) { printf("%d",a[j]); } printf("\n"); int z=0,v=0; while(num>n) { z=num%n; num=num/n; v+=z; } if(v==0) printf("yes\n"); else printf("no"); return 0; }

            • 0
              @ 2023-12-11 20:57:38

              #include <stdio.h> // 将十进制整数 x 转换为 n 进制 void convertToBase(int x, int n) { int xBase[100], i = 0; while (x > 0) { xBase[i] = x % n; x /= n; i++; } for (int j = i - 1; j >= 0; j--) { printf("%d", xBase[j]); } printf("\n"); } // 判断 x 是否为 n 的幂次方 void isPowerOfN(int x, int n) { if (x == 1) { printf("yes\n"); return; } for (int i = 2; i * i <= x; i++) { int power = i; while (power <= x) { power *= i; if (power == x) { printf("yes\n"); return; } } } printf("no\n"); } int main() { int x, n; scanf("%d %d", &x, &n); // 转换为 n 进制 convertToBase(x, n); // 判断是否为 n 的幂次方 isPowerOfN(x, n); return 0; }

              • 1

              信息

              ID
              960
              时间
              1000ms
              内存
              256MiB
              难度
              5
              标签
              递交数
              145
              已通过
              53
              上传者