/*
Time:2019.12.15
Author: Goven
type:Burnside引理 + Polya定理(圆)
ref:
https://www.cnblogs.com/AKCqhzdy/p/7593704.html
https://blog.csdn.net/lianai911/article/details/47804663
*/
#include<iostream>
using namespace std;
int gcd (int a, int b) {
return b ? gcd(b, a % b) : a;
}
int quick_pow (int a, int b) {
int res = 1;
while (b) {
if (b & 1) res = res * a;
a = a * a;
b >>= 1;
}
return res;
}
int main()
{
int c, s;
while (cin >> c >> s) {
if (!c && !s) break;
int res = 0;
//旋转变换
for (int i = 1; i <= s; i++) res += quick_pow(c, gcd(i, s));
//翻转变换
if (s & 1) {
res += s * quick_pow(c, (s + 1) / 2);
}
else {
res += s / 2 * quick_pow(c, s / 2);
res += s / 2 * quick_pow(c, s / 2 + 1);
}
res /= 2 * s;
cout << res << endl;
}
return 0;
}
poj2409 Burnside引理 + Polya定理(圆)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 考点:直线与圆的位置关系;设而不求思想;运算求解能力 解答题多是直线与圆,圆锥曲线相关联,主要侧重对基础知识和技能...