51NOD 1262 扔球(欧拉函数)

原创 2016年05月31日 10:45:28

传送门
1262 扔球
基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注
在圆上一点S,扔出一个球,这个球经过若干次反弹还有可能回到S点。N = 4时,有4种扔法,如图:

恰好经过4次反弹回到起点S(从S到T1,以及反向,共4种)。
给出一个数N,求有多少种不同的扔法,使得球恰好经过N次反弹,回到原点,并且在第N次反弹之前,球从未经过S点。
Input
输入一个数N(1 <= N <= 10^9)。
Output
输出方案数量。
Input示例
4
Output示例
4

解题思路:
反弹n次,那起点S,每次反弹点,终点S共连接n+1条边,那么原问题变为从S走n+1条边回到S,设步长为a条边,gcd(a,n+1)==1时,lcm(a,n+1)=a*(n+1),由于a*(n+1)=(n+1)a那么最少走n+1次步长为a的路线才能重合到S;反之gcd(a,n+1)==d时,lcm(a,n+1)=a(n+1)/d,由于关系a*((n+1)/d)=(n+1)*(a/d),最少走(n+1)/d步即反弹(n+1)/d-1

#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
typedef long long LL;
LL Eular(LL m)
{
    LL ans = m;
    for(LL i=2; i*i<=m; i++)
    {
        if(m%i==0)
        {
            ans -= ans/i;
            while(m%i==0)
            {
                m /= i;
            }
        }
    }
    if(m > 1)
        ans -= ans/m;
    return ans;
}
int main()
{
    LL m;
    while(cin>>m)
    {
        cout<<Eular(m+1)<<endl;
    }
    return 0;
}
版权声明:编写不易,转载请注明出处,谢谢。 举报

相关文章推荐

51Nod-1262-扔球

ACM模版描述题解遇见这种问题,我一般都是直接模拟。先考虑到,能保证他一定会返回起点的扔法只有朝将圆 N + 1 等分的 N 个点(起点不算)扔去,但是有的跨度无法满足弹 N 次的要求。于是我从1一直...
  • f_zyj
  • f_zyj
  • 2017-04-15 22:27
  • 156

51nod 1239欧拉函数之和

题意:求1-n的欧拉函数前缀和,n根号n的取值只有根号n个,小于的也是,那么我们可以预处理根号n以内的,根号n以上的递

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

51NOD 1040 1040 最大公约数之和 数论 欧拉函数

1040 最大公约数之和 题目来源: rihkddd 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 给出一个n,求1-n这n个数,同n的最大公约数的...

[51NOD]1239 欧拉函数之和

欧拉函数之和基准时间限制:3 秒 空间限制:131072 KB 分值: 320 难度:7级算法题 http://www.51nod.com/onlineJudge/questionCode.htm...
  • ctsas
  • ctsas
  • 2017-08-02 10:27
  • 70

51nod 1239 欧拉函数之和

题目描述:求: ∑ni=1φ(i)\sum_{i = 1}^n φ(i) 1 <= n <= 10题解:杜教筛第二道裸题。必要结论: ∑i|nφ(i)=n\sum_{i|n} φ(i) = n证...

51NOD 1040 最大公约数之和(分析 + 欧拉函数)

传送门 1040 最大公约数之和 题目来源: rihkddd 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 给出一个n,求1-n这n个数,同n的最大公约数...

51Nod1136--欧拉函数

1136 欧拉函数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函...

51nod--1136 欧拉函数(0级算法题)

51nod–1136 欧拉函数基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研...

[51NOD1239]欧拉函数之和

题目大意给定nn,试求 ∑i=1nφ(i) \sum_{i=1}^n\varphi(i) 2≤n≤10102\le n\le10^{10}题目分析杜教筛裸题。 令S(n)=∑ni=1φ(i)S(n...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)