问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

欧拉函数的编程实现

发布网友 发布时间:2022-04-30 20:08

我来回答

1个回答

热心网友 时间:2023-10-10 03:51

利用欧拉函数和它本身不同质因数的关系,用筛法计算出某个范围内所有数的欧拉函数值。
欧拉函数和它本身不同质因数的关系:
欧拉函数ψ(N)=N{∏p|N}(1-1/p)
亦即: (P是数N的质因数)
如:
ψ(10)=10×(1-1/2)×(1-1/5)=4;
ψ(30)=30×(1-1/2)×(1-1/3)×(1-1/5)=8;
ψ(49)=49×(1-1/7)= =42。 import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Oula {    public static void main(String[] args){        Scanner scanner=new Scanner(System.in);        int num=scanner.nextInt();        int a=num;        double oulaAnwser=0;        ArrayList<Integer> oulaList = new ArrayList<Integer>();        if (isPrime(num)){            oulaAnwser=num-1;        }else{            List<Integer> allPrime = getAllPrime(num);            for(int i : allPrime){                int tem=num;                num=repeatdivide(num,i);                if (tem!=num){                    oulaList.add(i);                }            }            oulaAnwser=a;            for (int j :oulaList){                 oulaAnwser=oulaAnwser*(1-(double)1/j);            }        }        System.out.println(欧拉函数的值为+Math.round(oulaAnwser));    }    public static List<Integer> getAllPrime(int num){        ArrayList<Integer> result = new ArrayList<Integer>();        for (int i =2;i<num;i++){            if (isPrime(i)) {                result.add(i);            }        }        return result;    }    public static boolean isPrime(int num){        if(num < 2) {            return false;        }        for(int i = 2; i <= Math.sqrt(num); i++ ) {            if(num%i == 0) {                return false;            }        }        return true;    }    public static boolean canbedivide(int num,int i ){        return num==1?false:num%i==0?true:false;    }    public static int repeatdivide(int num,int i ){        int result=0;        if (canbedivide(num,i)){            result=repeatdivide(num/i,i);        }else{            return num;        }        return result;    }}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
泌尿系结核肾结核有哪些特点 肾结核治好影响寿命吗 邢台七路公交车2020年一月二十九号通车吗? 笔记本的USB有线网卡上不了网,试了公司的台式机(是路由器的),店家的... 喝多给特别喜欢的男生打电话骂他,他也不生气,是不在意吗 为什么我的QQ绑定不起手机为什么说我本次操作存在风? 内账应收应付怎么对账 应收应付应该如何对账 深圳弗林棕旅行社有限公司怎么样? 深圳市鹏运国际旅行社有限公司怎么样? 周转箱也叫物流箱吗?柳兴塑料周转箱是物流箱吗? 在RSA公开密钥系统中,若截获了发给一个公开密钥e=3,n=33的密文c=2,请计算: C语言中这么求欧拉函数的值有什么问题吗,题目如下。 导电周转箱是什么? 欧拉函数φ(200)怎么算? 纸箱型周转箱与折叠型周转箱区别是什么? C语言算一个数欧拉函数,输入0结束 电表周转箱是什么意思 欧拉函数计算公式的推导(要详细过程) 请问10的欧拉函数是多少? 茅台周转箱是什么意思 计算欧拉函数φ(100),写出详细过程? 外包装箱和周转箱是一个概念吗 欧拉函数21怎么算 周转箱是什么? 欧拉函数如何运算 欧拉函数计算公式是什么? 请问微信公众号的赞赏账户,对方打赏时能看到我的吗?会不会泄漏隐私?能看到我多少信息? 码改了,为什么朋友那边看到的,还是显示原来的号码 我手机号码换了,等微信显示等上了,为什么还是原来的? 请帮忙用C++编一个计算欧拉函数的程序。谢谢!! 欧拉函数,谁能用初中生能看懂的话来描述啊 求一个免费网络游戏 MOD运算的欧拉函数 有什么好玩的网游吗? 欧拉函数 求φ(420)的值,需要过程,感谢感谢 怎么套路女生说出自己喜欢的人 现在什么网游视觉效果最好,也比较好玩的? 自制罗卜干的做法步骤图,自制罗卜干怎么做 有没有什么好网游??? 谁能给我推荐一款免费的网络游戏? 如何巧妙又不失浪漫的套路喜欢的人? 喝酒前吃什么比较不容易醉呢? 对喜欢的人应不应该用套路 美国网络游戏排名 对于自己喜欢的那个人,女孩子可以套路到什么程度? 有没有哪种网络游戏是以现代都市为背景的? 萝卜干怎么做啊 奥伦纳素中国专柜在哪里 喝啤酒前吃什么不容易醉酒?