美文网首页
【HDU 1286】找新朋友

【HDU 1286】找新朋友

作者: Siding | 来源:发表于2018-10-04 16:37 被阅读0次

找新朋友(题目链接)

思路

  • 直接暴力,TLE
  • 使用map存储中间计算值优化,TLE
  • 使用欧拉函数计算,AC

代码

#include <iostream>
#include <map>
using namespace std;
#define LOCAL 0

//返回小于n且与n互质的数的个数 
int euler(int n){ 
    int ans = n;
    int tmp = n;
    for(int i = 2; i*i <= tmp; i++){
        if(tmp%i == 0){
            ans = ans / i * (i - 1); 
            while(tmp % i == 0){
                tmp /= i;            
            } 
        }
    }
    if(tmp>1) {
        ans = ans / tmp * (tmp-1);
    }
    return ans;
}

int main(){   
#if LOCAL
    freopen ("datain.txt","r",stdin);
    freopen ("dataout.txt","w",stdout);
#endif
    
    int n;
    cin >> n;
    for(int i = 0;i < n;i++){
        int t;
        cin >> t;
        cout << euler(t) << endl;
    }
        
    return 0;
}

相关文章

  • 【HDU 1286】找新朋友

    找新朋友(题目链接) 思路 直接暴力,TLE 使用map存储中间计算值优化,TLE 使用欧拉函数计算,AC 代码

  • ZCMU训练--190705:2016大学生程序设计比赛

    目录A:HDU 5933B:HDU 5934C:HDU 5935D:HDU 6312E:HDU 6308F: HD...

  • 找新的朋友

    开年第二天,心里舒服,感觉很多事情都已经想的很清楚,想的很明白!原来一直的不作为是这样的难过,所以,我坚信,一切都...

  • 新《找朋友》2.0

    找呀找呀找朋友 找到一个女朋友 见个面 拉拉手 你是我的女朋友 找呀找呀找朋友 找到一个女朋友 见个面 拉拉手 你...

  • 2019.01.19算法题:HDU - 1171

    HDU - 1171Big Event in HDU(多重背包) 题目地址:http://acm.hdu.edu....

  • 36275字字真

    1286字

  • 1286

    2020.10.07 星期三 晴 今天云灿继续去奶奶家,早饭没吃,带了早晨、中午的药去奶奶家吃。每天的...

  • cd

    cd ~/Documents 进入用户下的文档然后,要进入文档下的hdu文件夹,只需cd hdu 而不是cd /hdu

  • HDU - 6292 找最短代码问题

    著名出题人小Q每次比赛后都会写一份《赛题分析》,包含比赛概况、每题的参考算法以及一些统计数值。 对于一道题来说,小...

  • Manacher

    [hdu 3068|http://acm.hdu.edu.cn/showproblem.php?pid=3068]...

网友评论

      本文标题:【HDU 1286】找新朋友

      本文链接:https://www.haomeiwen.com/subject/vsbxaftx.html