11.25日集训总结

c++的sort排序

C or C++ 不像python那样有很多强大的函数库
所以,这里就新学习一个c++的sort函数

我们以ASCLL码排序为例

#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
    char arr[3];
    while(scanf("%c%c%c",&arr[0],&arr[1],&arr[2])!=EOF)
    {
        getchar();//尝试不用getchar函数,则会吞掉下一从输入的一个字符。
        sort(arr,arr+3);
        printf("%c %c %c",arr[0],arr[1],arr[2]);
    }
    return 0;
 }

这里要注意一下getchar()函数:
因为是多组输入的,当第一行输入后,比如:qew。第二行输入
getchar作用是相当于一个\n。那么如果没有getchar的话。程序会把回车n也算作一个字符串读入。那么结果(以这题为例)只会吸收前两个字符。


快速幂

还是用一个例题说明

T^T(1)

Description

T^T这个很像一个流泪的表情是不是!
其实,它是T的T次方啦~。当T比较大的时候T^T会非常大,现在只要你求这个数的个位就可以啦!

Input

输入包括多组测试数据,每个测试数据只有一个数字T(0<T<2^{31})T(0<T<2(31) )。

Output

请输出T^T的个位数。

Sample Input 1

1
2
3
105

Sample Output 1

1
4
7
5


#include <stdlib.h>
typedef long long ll;
ll fast(ll a, ll b)
{
    int ans = 1;
    while(b != 0)
    {
        if(b & 1)
        {
            ans *= a;
        }
        a = a * a;
        b >>= 1;
    }
    return ans;
}
int main()
{
    ll a, b, c;
    scanf("%lld%lld", &a, &b);
    c = fast(a, b);
    printf("%lld", c);
    return 0;
}

这里注意数据类型


结束

猜你喜欢

转载自blog.csdn.net/qq_42906486/article/details/84504300