功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
最后一个数后面也要有空格详细描述:
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
输入一个long型整数
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。
示例1【欧拉函数(初级)φ函数】https://baike.baidu.com/item/%E6%AC%A7%E6%8B%89%E5%87%BD%E6%95%B0/1944850?fr=aladdin
题目描述 给你一个正整数n,请问有多少个比n小的且与n互质的正整数? 两个整数互质的意思是,这两个整数没有比1大的公约数。 输入 输入包含多组测试数据。每组输入是一个正整数n(n<=1000000000)。当n=0时,输入结束。 输出 对于每组输入,输出比n小的且与n互质的正整数个数。 样例输入 7 12 0 样例输出 6 4 1 #include<iostream> 2 typedef long long ll; 3 using namespace std; 4 ll oula(ll n) 5 { 6 ll ans=n; 7 for(ll i=2;i<=n;i++) 8 { 9 if(n%i==0) ans=ans/i*(i-1); //欧拉函数 10 while(n%i==0) n/=i; //筛法选素数 11 } 12 return ans; 13 } 14 int main() 15 { 16 ll n; 17 while(cin>>n&&n) 18 { 19 cout<<oula(n)<<endl; 20 } 21 return 0; 22 } View Code
输入两个正整数n和k,求与n互质的第k个正整数。
输入格式:
仅一行,为两个正整数n(≤10^6)和k(≤10^8)。
输出格式:
一个正整数,表示与n互质的第k个正整数。
转载于:https://www.cnblogs.com/qing123tian/p/11123091.html
相关资源:欧拉函数计算 C语言实现