Python实现进制转换

要求

  • 通过输入十进制根据输入的转换成相应的进制



#外层while循环
while True:
    #用于存放转换后的数字
    lis = []
    #输入转换的数字
    transition = input('请输入你要转换的数字').strip()
    #判断是否为数字
    if not transition.isdigit():
        continue
    system = input('请输入要转换的进制').strip()
    if not system.isdigit():
        continue
    #转换为数字类型
    transition = int(transition)
    system = int(system)
    #对余数大于10的进制进行处理
    while transition!=0:
        if transition%system<10:
            lis.append(transition%system)
        else:
            if transition%system == 10:
                lis.append('A')
            if transition%system == 11:
                lis.append('B')
            if transition%system == 12:
                lis.append('C')
            if transition%system == 13:
                lis.append('D')
            if transition%system == 14:
                lis.append('E')
            if transition%system == 15:
                lis.append('F')
        transition = int(transition/system)
    lis.reverse()
    print(lis)

C语言找假币算法实现

要求:有一枚假币混在一些真币中,已知假币比真币轻一些。总共n枚硬币中(包含一枚假币),给一个天平,请用最少的次数找出这枚假币。

#include<stdio.h>
int main() {
    int n;
    while(scanf("%d",&n)!=EOF){
        if(n==0) break;
        int z=1,cnt=0;
        while(z<n) {
            z=z*3;
            cnt++;
        }
        printf("%d\n",cnt);
    }
    return 0;
}