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;
}
这里注意数据类型