ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PTA天梯赛练习集选做

2022-03-02 20:32:49  阅读:157  来源: 互联网

标签:std int namespace cin PTA 天梯 using 集选 include


002

模拟+找规律

规律就是上面正三角第i行是i*2-1个符号

正三角的符号数为t,整个沙漏的符号数为t*2-1

#include <bits/stdc++.h>
using namespace std;


int n , m , t = 0;
char ch;


int main()
{
    cin >> n >> ch;

    for( register int i = 1 ; ; i ++ )
    {
        m = i * 2 - 1;
        t += m;
        if( ( t * 2 - 1) <= n ) continue;
        t -= m;
        m = i - 1;
        break;
    }
    for( register int i = m ; i >= 1 ; i -- )
    {
        for( register int j = 1 ; j <= m - i ; j ++ ) putchar(' ');
        for( register int j = 1 ; j <= i * 2 - 1 ; j ++ ) putchar(ch);
        puts("");
    }
    for( register int i = 2 ; i <= m ; i ++ )
    {
        for( register int j = 1 ; j <= m - i ; j ++ ) putchar(' ');
        for( register int j = 1 ; j <= i * 2 - 1 ; j ++ ) putchar(ch);
        puts("");
    }
    cout << n - ( t * 2 - 1) << endl;
    return 0;
}

003

很简单,数字太长用sting存,用auto便历

#include <bits/stdc++.h>
using namespace std;

int t[15];

int main()
{
    string s;
    cin >> s;
    for( auto it : s )
    {
        t[ it - '0' ] ++;
    }
    for( int i = 0 ; i <= 9 ; i ++ )
    {
        if( t[i] ) printf( "%d:%d\n" , i , t[i] );
    }
    return 0;
}

004

printf("Celsius = %d\n" ,  5 * ( a -32 ) / 9 );

005

这道题告诉我们要活用STL,map套pair可以很简单

#include <bits/stdc++.h>
using namespace std;


map < int , pair< string , int > > t;
int  n , m;
string s;

int main()
{
    cin >> n;
    for( int i = 1 , a , b; i <= n ; i ++ )
    {
        cin >> s >> a >> b ;
        t[a] = make_pair( s , b );
    }
    cin >> m;
    for( int i = 1 , a ; i <= m ; i ++ )
    {
        cin >> a;
        cout << t[a].first << ' ' << t[a].second << endl;
    }
    return 0;
}

006

一道挺有意思的枚举题,分别枚举左右短点就行

在配合一点优化就行

#include <bits/stdc++.h>
using namespace std;

long long n , t , maxlong = 0 , l, r , mul = 1 , temp;

int main()
{
    cin >> n;
    t = sqrt( n ) + 1, l = n , r = n;
    for( register int i = 2 ;i <= t ; i ++ )//枚举左端点
    {
        if( n % i ) continue;
        temp = 1;
        for( register int j = i ; j < i + maxlong ; j ++ ) temp *= j;
        for( register int j = i + maxlong ; j <= t ; j ++ )//枚举右端点
        {
            temp *= j;
            if( temp > n ) break;
            if( n % temp ) break;
            l = i , r = j , maxlong = j - i + 1;
        }
    }
    if( maxlong == 0 ) maxlong = 1;
    cout << maxlong << endl;
    for( register int i = l ; i < r ; i ++ ) cout << i << '*';
    cout << r << endl;
    return 0;
}

标签:std,int,namespace,cin,PTA,天梯,using,集选,include
来源: https://www.cnblogs.com/PHarr/p/15956959.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有