当前位置: 首页 > news >正文

C++程序设计:分解质因数

【问题描述】

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

【输入形式】

输入正整数n

【输出形式】

输出正整数n的因式分解项,如果不能分解,则输出“no answer”

【样例输入】

90

【样例输出】

90=233*5

#include <iostream>
#include <iomanip>
using namespace std;
void answer(int n) {
	int j;
	bool x=false;
	for(j=2; j<n; j++) {
		if(n%j==0) {
			cout<<"*"<<j;
			x=true;
			answer(n/j);
			break;
		}
	}
	if(x==false)
		cout<<"*"<<n;
}
int main() {
	int n=1,i;
	bool x=false;
	cin>>n;
	for(i=2; i<n; i++)
		if(n%i==0) {
			cout<<n<<"="<<i;
			x=true;
			answer(n/i);
			break;
		}
	if(x==false)
		cout<<"no answer";
	return 0;
}

这里有一个小技巧:我们在分解的过程中并不需要判断哪些数是质数。直接递归分解就可以,得到的结果中一定都是质数。这是因为如果得到的某个因数不是质数,那么它肯定在这之前就被分解了,不会存在。

相关文章:

  • 设置NTFS权限以避免通过webshell遍历主机目录(原创)
  • C++程序设计:打印杨辉三角形
  • 如何安装一个安全的动网(转)
  • C++程序设计:字符图形输出(数字三角形)
  • 远程分析IIS设置(转)
  • C++程序设计:字符图形输出(空白三角形)
  • 规律化生活一周
  • C++程序设计:今夕何夕,见此良人(经典题目)
  • DVBBS7.0变量列表
  • C++程序设计:求n个数的最大值、最小值及其出现的位置
  • C++程序设计:逆序数
  • 思量了许久还是决定做游戏
  • C++程序设计:小数化分数的算法与编程实现(经典问题)
  • 一些游戏开发站点
  • C++程序设计:挑棍子(判断线段是否相交的模板)
  • C++类中的特殊成员函数
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • CSS相对定位
  • Java反射-动态类加载和重新加载
  • Mithril.js 入门介绍
  • MySQL用户中的%到底包不包括localhost?
  • Sass Day-01
  • Vim 折腾记
  • Windows Containers 大冒险: 容器网络
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 关于springcloud Gateway中的限流
  • 后端_ThinkPHP5
  • 利用jquery编写加法运算验证码
  • 聊聊directory traversal attack
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 前端临床手札——文件上传
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 通信类
  • 我感觉这是史上最牛的防sql注入方法类
  • 小程序button引导用户授权
  • 新书推荐|Windows黑客编程技术详解
  • 由插件封装引出的一丢丢思考
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 智能合约开发环境搭建及Hello World合约
  • 7行Python代码的人脸识别
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (新)网络工程师考点串讲与真题详解
  • (转)h264中avc和flv数据的解析
  • .gitignore文件—git忽略文件
  • .NET Micro Framework初体验
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .net开发时的诡异问题,button的onclick事件无效
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .pop ----remove 删除
  • @synthesize和@dynamic分别有什么作用?
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序