蓝桥杯模拟赛排列序数

排列序数

X星系的某次考古活动发现了史前智能痕迹。
这是一些用来计数的符号,经过分析它的计数规律如下:
(为了表示方便,我们把这些奇怪的符号用a~q代替)

abcdefghijklmnopq 表示0
abcdefghijklmnoqp 表示1
abcdefghijklmnpoq 表示2
abcdefghijklmnpqo 表示3
abcdefghijklmnqop 表示4
abcdefghijklmnqpo 表示5
abcdefghijklmonpq 表示6
abcdefghijklmonqp 表示7
.....

在一处石头上刻的符号是:
bckfqlajhemgiodnp

请你计算出它表示的数字是多少?
这题是一道数学题,有关全排列的(康拓展开),用字符数组来处理
答案:22952601027516(注意longlong类型)
#include
#include
#include
#include
typedef long long ll;
using namespace std;
ll jiecheng(int j){
	ll jie=1;
	if(j==0){
		return 1;//0的阶乘为1 
	}
	for(int i=1;i<=j;i++)
	jie=jie*i;
	return jie;
}
int main(){
	int len,t;
	ll sum=0;
	char str[20];//定义字符数组一定要记得[]!!!! 
	cin>>str;//为了多组输入,可以while(scanf("%s",s)==1){.....} 来表示 
	len=strlen(str);
	for(int i=0;i

你可能感兴趣的:(蓝桥杯模拟赛排列序数)