蓝桥杯——2013B组真题第九题 带分数

蓝桥杯——2013B组真题九题 带分数

题目描述
100 可以表示为带分数的形式:100 = 3 + 69258 / 714。
还可以表示为:100 = 82 + 3546 / 197。
注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。
类似这样的带分数,100 有 11 种表示法。

输入
从标准输入读入一个正整数N (N< 1000*1000)

输出
程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。
注意:不要求输出每个表示,只统计有多少表示法!

样例输入1

100

样例输出1

11

样例输入2

105

样例输出2

6

我的思路
利用全排列函数next_permutation(),把1-9的数进行全排列,然后根据所输入的位数去截取加数,再将剩余的数去拆分成分母和分子,并且要注意分母、分子得整除。

代码如下

#include<iostream>
#include<algorithm>
using namespace std;
int getnum(int a[],int start,int end){    //返回数组中对应位数的数 
	int sum=0;
	for(int i=start;i<=end;i++){
		sum=sum*10+a[i];
	}
	return sum;
}
int main(){
	int arr[9]={1,2,3,4,5,6,7,8,9};
	int n;
	int species=0; //种数
	int ws=0;      //位数 
	cin>>n;
	int temp=n;
	while(temp){
		ws+=1;
		temp/=10;
	}
	do{
		int adds;  //加数
		int deno,nume; //分母、分子 
		for(int i=0;i<ws;i++){
			adds=getnum(arr,0,i);
			for(int j=i+1;j<=7;j++){   //分子至少有一位,所以分母只能取到数组中的第八个 
				deno=getnum(arr,i+1,j);
				nume=getnum(arr,j+1,8);
				if(deno%nume==0&&n==adds+deno/nume){
					species++;
				}
			}
		}
	}while(next_permutation(arr,arr+9));
	cout<<species;
	return 0;
}

总结
关于全排列的这个函数,对于蓝桥杯来说还是有必要了解一下的,不仅可以对int类型用,还可以对char、string,还可以自定义排列函数。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、该破解版版本是目前网上最全的版本(例如90%网上的2013B版本均没有Embedded Coder,或者工具箱就40个左右) 2、支持系统版本:Wind7 x64/x32。安装包大小:7G左右。 3、工具箱详情: MATLAB Version 8.2 (R2013b) Simulink Version 8.2 (R2013b) Aerospace Blockset Version 3.12 (R2013b) Aerospace Toolbox Version 2.12 (R2013b) Bioinformatics Toolbox Version 4.3.1 (R2013b) Communications System Toolbox Version 5.5 (R2013b) Computer Vision System Toolbox Version 5.3 (R2013b) Control System Toolbox Version 9.6 (R2013b) Curve Fitting Toolbox Version 3.4 (R2013b) DO Qualification Kit Version 2.2 (R2013b) DSP System Toolbox Version 8.5 (R2013b) Data Acquisition Toolbox Version 3.4 (R2013b) Database Toolbox Version 5.0 (R2013b) Datafeed Toolbox Version 4.6 (R2013b) Econometrics Toolbox Version 2.4 (R2013b) Embedded Coder Version 6.5 (R2013b) Filter Design HDL Coder Version 2.9.4 (R2013b) Financial Instruments Toolbox Version 1.2 (R2013b) Financial Toolbox Version 5.2 (R2013b) Fixed-Point Designer Version 4.1 (R2013b) Fuzzy Logic Toolbox Version 2.2.18 (R2013b) Global Optimization Toolbox Version 3.2.4 (R2013b) HDL Coder Version 3.3 (R2013b) HDL Verifier Version 4.3 (R2013b) IEC Certification Kit Version 3.2 (R2013b) Image Acquisition Toolbox Version 4.6 (R2013b) Image Processing Toolbox Version 8.3 (R2013b) Instrument Control Toolbox Version 3.4 (R2013b) MATLAB Builder EX Version 2.4 (R2013b) MATLAB Builder JA Version 2.3 (R2013b) MATLAB Builder NE Version 4.2 (R2013b) MATLAB Coder Version 2.5 (R2013b) MATLAB Compiler Version 5.0 (R2013b) MATLAB Report Generator Version 3.15 (R2013b) Mapping Toolbox Version 4.0 (R2013b) Model Predictive Control Toolbox Version 4.1.3 (R2013b) Model-Based Calibration Toolbox Version 4.6.1 (R2013b) Neural Network Toolbox Version 8.1 (R2013b) OPC Toolbox Version 3.3 (R2013b) Optimization Toolbox Version 6.4 (R2013b) Parallel Computing Toolbox Version 6.3 (R2013b) Partial Differential Equation Toolbox Version 1.3 (R2013b) Phased Array System Toolbox Version 2.1 (R2013b) Polyspace Bug Finder Version 1.0 (R2013b) Polyspace Code Prover Version 9.0 (R2013b) RF Toolbox Version 2.13 (R2013b) Real-Time Windows Target Version 4.3 (R2013b) Robust Control Toolbox Version 5.0 (R2013b) Signal Processing Toolbox Version 6.20 (R2013b) SimBiology Version 4.3.1 (R2013b) SimDriveline Version 2.5 (R2013b) SimElectronics Version 2.4 (R2013b) SimEvents Version 4.3.1 (R2013b) SimHydraulics Version 1.13 (R2013b) SimMechanics Version 4.3 (R2013b) SimPowerSystems Version 6.0 (R2013b) SimRF Version 4.1 (R2013b) Simscape Version 3.10 (R2013b) Simulink 3D Animation Version 7.0 (R2013b) Simulink Code Inspector Version 2.0 (R2013b) Simulink Coder Version 8.5 (R2013b) Simulink Control Design Version 3.8 (R2013b) Simulink Design Optimization Version 2.4 (R2013b) Simulink Design Verifier Version 2.5 (R2013b) Simulink PLC Coder Version 1.6 (R2013b) Simulink Report Generator Version 3.15 (R2013b) Simulink Verification and Validation Version 3.6 (R2013b) Spreadsheet Link EX Version 3.2 (R2013b) Stateflow Version 8.2 (R2013b) Statistics Toolbox Version 8.3 (R2013b) Symbolic Math Toolbox Version 5.11 (R2013b) System Identification Toolbox Version 8.3 (R2013b) SystemTest Version 2.6.6 (R2013b) Trading Toolbox Version 2.0 (R2013b) Vehicle Network Toolbox Version 2.1 (R2013b) Wavelet Toolbox Version 4.12 (R2013b) xPC Target Version 5.5 (R2013b) xPC Target Embedded Option Version 5.5 (R2013b)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值