• #低级进阶#无聊小题集_1


    #低级进阶#无聊小题集_1

    记一下因学校布置而做的小题吧。这学期没怎么做题,暴露了咸鱼的本性。希望接下来多刷点吧。

    求 A/B 高精度值(ab)

    【问题描述】
    计算 A/B 的精确值,设 A,B 是以一般整数输入,计算结果精确到小数后 20 位(若不足 20 位,末尾不
    用补 0)。
    【输入样例 1】
    4 3
    【输出样例 1】
    4/3=1.33333333333333333333
    【输入样例 2】
    6 5
    【输出样例 2】
    6/5=1.2

    def main():
        a, b = map(int, input().strip().split())
        ya=a
        c=a//b
        d=[]
        a=(a%b)*10
        for i in range(1,21):
            d.append(a//b)
            a=(a%b)*10
        for i in range(len(d)-1,0,-1):
            if(d[i]==0):
                d.pop(i)
            else:
                break
        print(ya,end='')
        print('/',end='')
        print(b,end='')
        print('=',end='')
        print(c,end='')
        print('.',end='')
        for i in d:
            print(i,end='')
            
    main()
    

    有没有更简单的方法?python格式输出好烦哦。一开始做这题的时候import了decimal,结果发现没法实现(可能因为我菜和懒+想当然吧)


    双色汉诺塔

    题目描述

    设A、B、C是3 个塔座。开始时,在塔座A 上有一叠共n 个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为1,2,……,n,奇数号圆盘着蓝色,偶数号圆盘着红色,如图所示。现要求将塔座A 上的这一叠圆盘移到塔座B 上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则: 
    
      规则(1):每次只能移动1 个圆盘; 
    
      规则(2):任何时刻都不允许将较大的圆盘压在较小的圆盘之上; 
    
      规则(3):任何时刻都不允许将同色圆盘叠在一起; 
    
      规则(4):在满足移动规则(1)-(3)的前提下,可将圆盘移至A,B,C 中任一塔座上。 
    

    试设计一个算法,用最少的移动次数将塔座A 上的n个圆盘移到塔座B 上,并仍按同样顺序叠置。 
    

    输入

    只一行是给定的正整数n。 					
    

    输出

    将计算出的最优移动方案输出。文件的每一行由一个正整数k和2个字符c1和c2组成,表示将第k个圆盘从塔座c1移到塔座c2上。 
    

    样例输入

    3
    

    样例输出

    1 A B
    2 A C
    1 B C
    3 A B
    1 C A
    2 C B
    1 A B
    
    def haha(n,a,b,c,j):
        if(n==1):
            print(j,a,b)
        else:
            j=n-1
            haha(n-1,a,c,b,j)
            j=n
            haha(1,a,b,c,j)
            j=n-1
            haha(n-1,c,b,a,j)
           
    def main():
        n=int(input())
        j=1
        haha(n,'A','B','C',j)
    
    main()
        
    
    

    我不太明白为什么要是双色,一开始被唬住了…并且由于本题,本菜鸟知道了递归深度这玩意儿……


    放大

    Problem Description

    Taotao is glad to see that lots of students have registered for today's algorithm competition. Thus he wants to pull a banner on the wall. But Taotao is so stupid that he doesn't even know how to enlarge words to fit the size of banner. So Taotao gives you a slogan template and asked you to enlarge them in k times.

    Input

    There are multiple test cases.
    For each test case, first line contains three numbers n, m, k (1<=n, m<=100,1<=k<=10).
    The next n lines each contain m visible characters.

    Output

    For each test case, you should output kn lines each contain km visible characters to represent the expanded slogan.

    Sample Input

    3 3 2
    .*.
    .*.
    .*.
    

    Sample Output

    ..**..
    ..**..
    ..**..
    ..**..
    ..**..
    ..**..
    
    #include<stdio.h>
    main(){
    	int n,m,k,i,j,ha=0,ha2;
    	char a[1000][100],b[1000][1000],de;
    	while(scanf("%d%d%d",&n,&m,&k)!=EOF) {
    		for(i=0;i<n;i++)
    			for(j=0;j<m;j++){
    				scanf("%c",&de);
    				if(de=='
    ') 
    					j--;		
    				else
    					a[i][j]=de;
    			}	
    		for(j=0;j<n;j++)
    			for(ha2=0;ha2<k;ha2++)
    				for(ha=0;ha<m;ha++)
    					for(i=0;i<k;i++)	b[j*k+ha2][i+ha*k]=a[j][ha];
    				
    		for(i=0;i<k*n;i++){
    			for(j=0;j<k*m;j++)	printf("%c",b[i][j]);
    			printf("
    ");
    		}
    	}
    } 
    

    -没啥好说的,最容易看懂的题目……我竟然还搞了个五重循环

  • 相关阅读:
    ORACLE 9i数据库服务器的体系结构
    datareader ,dataset ,datatable使用的区别
    ArrayList、Hashtable、DataTable、DataView、DataReader和DataSet,DataGrid等的区别和各自的优缺点
    oracle安装后net不能登陆(三a)
    c#的事件机制示例代码: 猫> 老鼠, 主人
    如果你是一个踌躇满志的男人
    oracel 数据字段类型
    ORAL架构
    也谈猫、老鼠、主人的观察者模式问题 (zhuang)
    4 phrases everyday000
  • 原文地址:https://www.cnblogs.com/leefree/p/10803887.html
Copyright © 2020-2023  润新知