2 条题解

  • 0
    @ 2024-12-28 20:55:38

    看不懂题面,直接观察样例。发现就是输入 n,kn,k,输出 (n)k(n)_k。(nn 为十进制数)。

    #include<bits/stdc++.h>
    #define int long long
    #define INF 0x3f3f3f
    using namespace std;
    int n,k;
    signed main(){
    	while(cin>>n>>k){
    		if(k==16)cout<<"0X";
    		int a[101],cnt=0;
    		while(n){
    			a[++cnt]=n%k;
    			n/=k;
    		}
    		for(int i=cnt;i>=1;i--){
    			if(a[i]<10)cout<<a[i];
    			else cout<<char(a[i]-10+'A');
    		}
    		cout<<"\n";
    	}
    	return 0;
    }
    
    • 0
      @ 2024-12-24 10:06:07

      C :

      #include "stdio.h"
      int main()
      { 
      unsigned int n,b;
      int i,j;
      char a[1024];
      while(scanf("%d%d",&n,&b)!=EOF)
      {	
      i=0;
      while(n)
      {
      if(b>=10)
      {
      if(n%b==10) a[i]='A';					
      else if(n%b==11) a[i]='B';
      else if(n%b==12) a[i]='C';
      else if(n%b==13) a[i]='D';
      else if(n%b==14) a[i]='E';
      else if(n%b==15) a[i]='F';
      else a[i]=n%b+'0';
      }
      else a[i]=n%b+'0';
      n/=b;
      i++;
      }
      if(b==16)
      printf("0X");
      for(j=i-1;j>=0;j--)
      printf("%c",a[j]);
      printf("\n");
      }
      return 0;
      }
      

      C++ :

      #include <stdio.h>
      #include <stdlib.h>
      #include <string.h>
      #include <time.h>
      
      char  *str ="0123456789ABCDEF";
      void print(int n,int base){
           if(n){
                 print(n/base,base);
                 printf("%c",str[n%base]);
           }
      
      }
      int main(){
          int n,base;
          int count;
        
         
        
          while(scanf("%d %d",&n,&base) == 2){
                          if(base == 16){
                                  printf("0X");
                          }
                          if(!n){
                                 printf("0\n");
                                 continue;
                          }
                          print(n,base);
                          printf("\n");
          }
          
          return 0;
      } 
      
      

      Java :

      import java.util.Scanner;
      
      public class Main
      {
      	public static void main(String[] args)
      	{
      		Scanner scanner = new Scanner(System.in);
      		while(scanner.hasNext())
      		{
      		long N = scanner.nextLong();
      		int B = scanner.nextInt();
      		if(N>1000000000||N<0) return;
      		if(B>16||B<2) return;
      		if (B == 16) System.out.println("0X" + Long.toString(N, B).toUpperCase());
      		else
      		System.out.println(Long.toString(N, B).toUpperCase());
      		}
      	}
      }
      
      • 1

      信息

      ID
      1991
      时间
      1000ms
      内存
      128MiB
      难度
      10
      标签
      递交数
      1
      已通过
      1
      上传者