iostream-将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5

问题描述

将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5

#include
using namespace std;

void fnabs(int n)
{
int i;
for(i=2;i<=n;i++)
{
while(n%i==0)
{n/=i;
cout<<"*"<<i;}
}
}

int main()
{
int n;
n=90;
cout<<n<<"=";
fnabs(n);
return 0;
}

现在打印出来的结果是90=*2*3*3*5,怎么才能去掉前面的第一个*

解决方案

#include
using namespace std;
void fnabs(int n)
{
int i;
int count=0;
for(i=2;i<=n;i++)
{
while(n%i==0)
{n/=i;
if(count++)
cout<<"*"<<i;}
else
cout<<i;
}
}
int main()
{
int n;
n=90;
cout<<n<<"=";
fnabs(n);
return 0;
}

解决方案二:

#include
using namespace std;
void fnabs(int n)
{
int i;
int count=0;
for(i=2;i<=n;i++)
{
while(n%i==0)
{n/=i;
if(count++)
cout<<"*"<<i;}
else
cout<<i;
}
}
int main()
{
int n;
n=90;
cout<<n<<"=";
fnabs(n);
return 0;
}

解决方案三:

//题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
#include<stdio.h>
int main()
{
?int n,i;
?printf("请输入一个数:");
?scanf("%d",&n);
??printf("%d=&q......
答案就在这里:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
----------------------

解决方案四:

//题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
#include
int main()
{
int n,i;
printf("请输入一个数:");
scanf("%d",&n);
printf("%d=&q......

解决方案五:

#include
using namespace std;
void fnabs(int n)
{
int i;
int count=0;
for(i=2;i<=n;i++)
{
while(n%i==0)
{n/=i;
if(count++)
cout<<"*"<<i;}
else
cout<<i;
}
}
int main()
{
int n;
n=90;
cout<<n<<"=";
fnabs(n);
return 0;
}

时间: 2024-12-22 04:51:32

iostream-将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5的相关文章

将一个正整数分解质因数

查看全套"c语言习题集" 题目: 将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步. (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步. 2.程序源代码: #include "

Java实现将一个正整数分解质因数

* 题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. * 分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: *(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. *(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步. *(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步. *这个题目很明显是要用递归算法来实现的,打印"*"有些技巧,但也很容易解

Factors 分解质因数

package com.yourself.yours; import java.util.Scanner; /** *************************************************************** * @author cc Factors * 分解质因数 如: 输入90 打印 90=2*3*3*5 * 分析: 对n进行分解质因数 * 1.设定最小的质数 k=2: * 2.if k==n 说明n本身就是质因数 分解过程完成 ,直接打印 * 3.if n

正整数分解为几个连续自然数之和

题目:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列. 一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 有些数可以写成连续N(>1)个自然数之和,比如14=2+3+4+5:有些不能,比如8.那么如何判断一个数是否可以写成连续N个自然数之和呢? 一个数M若可以写成以a开头的连续n个自然数之和,则M=a+(a+1)+(a+2)+-+(a+n-1)=n*a+n*(n-1)/2,要求a!=0,否则

【编程练习】正整数分解为几个连续自然数之和

题目:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列. 一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 有些数可以写成连续N(>1)个自然数之和,比如14=2+3+4+5:有些不能,比如8.那么如何判断一个数是否可以写成连续N个自然数之和呢? 一个数M若可以写成以a开头的连续n个自然数之和,则M=a+(a+1)+(a+2)+-+(a+n-1)=n*a+n*(n-1)/2,要求a!=0,否则

深入分析C语言分解质因数的实现方法_C 语言

首先来看一个最简单的C语言实现质因数分解的列子: #include <stdio.h> void main( ) { int data, i = 2; scanf("%d", &data); while(data > 1) { if(data % i == 0) { printf("%d ", i); data /= i; } else i++; } } 原理&&方法把一个合数分解为若干个质因数的乘积的形式,即求质因数的过程

Java小例子:分解质因数

这个例子演示如何利用递归来完成分解质因数. import java.util.List; import java.util.ArrayList; /** * 分解质因数 */ public class GetFactor { public static void main(String[] args) { List<Long> factors = getFactors(5555566666L, 2); System.out.println(factors); } /** * 通过递归实现分解质

excel怎么利用vbe分解质因数?

  excel怎么利用vbe分解质因数?目的:用excel自定义函数来分解质因数. 1.例如,我们要把七乐彩的字典序分解质因数. 2.进入vbe编程环境. 3.插入模块. 4.编写程序,做一个名叫"质数"的自定义函数. 5.关闭vbe,在单元格插入函数. 6.选择"用户定义",快速找到函数. 7.选定单元格,应用函数. 8.第一步计算完毕. 9.再次应用函数,第二步计算结果,也就是二次分解的结果. 10.第三步计算的结果. 11.我们知道3是质数,431还需要计算一

冒泡排序算法 递归算法,求n的阶乘 求最大公约数和最小公倍数 java分解质因数

   1.  /**     2.  * 冒泡排序算法     3.  */      4. public class BubbleSort {      5.     public static void sort(int[] values) {      6.         int temp;      7.         for (int i = 0; i < values.length; ++i) {      8.             for (int j = 0; j <