输入一个正整数,按照从小到大的顺序输出它的所有质数的因子
2017-04-01 17:02
966 查看
题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )最后一个数后面也要有空格
详细描述:
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
输入描述:
输入一个long型整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。
输入例子:
180
输出例子:
2 2 3 3 5
C++代码
#include<iostream> #include<math.h> using namespace std; bool Is_Prime(long int val); void All_Preme(int nums); int main() { long int nums; cin >>nums; All_Preme(nums); return 0; } void All_Preme(int nums) { long int val = 2; while(nums>1) { if(Is_Prime(val) && nums%val == 0) { cout << val << " "; nums = nums/val; val = 2; continue; } val++; } } bool Is_Prime(long int val) { long int i = 2; if(val == 2) return true; for(long int i=2; i < sqrt(val); ++i) { if(val%i == 0) return false; } return true; }
注意:判断是否是质数的函数,若暴力求解,无法达到时间要求。
相关文章推荐
- 今天开始学Java 输入一个正整数,按照从小到大的顺序输出它的所有质数的因子
- 输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
- 输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
- 输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
- 输入一个正整数,按照从小到大的顺序输出它的所有质数的因子
- C语言,输入一个正整数,按由大到小的顺序输出它的所有质数的因子(如180=5*3*3*2*2)
- 输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列(可以有前导0),2<=n<=79
- 按小到大顺序输出一个正整数的所有质数因子
- 输入正整数n,按从小到大的顺序输出所有形如abcde / fghij = n的表达式,其中a~j恰好为0~9的一个排列,2
- Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义
- 12.输入一个正整数,输出它所有的因子
- 30.输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
- 输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。例如输入数组{32, 321},则输出这两个能排成的最小数字32132
- 题目: 从键盘输入若干个正整数, 按从小到大的顺序输出. 输入负数表示输入结束. 用链表实现.
- 求一个正整数的所有质数因子
- 冒泡排序的示例-使用冒泡排序,输入三个整数,按照从小到大的顺序排列输出
- 从键盘上输入三个整数,分别赋给整型变量a,b,c. 然后将输入的整数按照从小到大的顺序放在a,b,c中, 并输出三个变量的值。
- 今天开始学Java 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。
- 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
- java实现输入一个正整数n,输出全部连续正整数相加后等于n的所有序列。