博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法学习-带分数
阅读量:5093 次
发布时间:2019-06-13

本文共 1010 字,大约阅读时间需要 3 分钟。

问题描述 

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

 

#include 
int w=0,n,count=0;int list[]={1,2,3,4,5,6,7,8,9};int main(){ void perm(int a[],int n,int k=-1); inline void Swap(int &a,int &b); int GetNum(int list[],int i,int j); scanf("%d",&n); int temp=n; while(temp!=0) { temp=temp/10; w++; } perm(list,9); printf("%d\n",count); return 0;}int GetNum(int list[],int i,int j){//将list[i]到list[j]之间转换为数字 int k,num=0; for(k=i;k<=j;k++) { num=num*10+list[k]; } return num;}void perm(int a[],int size,int k=-1){ int i; if(k==-1) k=size-1; if(k==0) { //排列结束。 int j,u;//j表示a的末尾位数 不能超过num的位数;u表示bLast所在的位置 int a=0,b=0,c=0,bLast=0; for(j=0;j

转载于:https://www.cnblogs.com/xieyulin/p/7060736.html

你可能感兴趣的文章
网站大全
查看>>
个人作业(二)
查看>>
加密解密:使用对称密码加密文件
查看>>
UITableViewCell不重用代码
查看>>
bean拆分
查看>>
10.03今日暂时停更博客
查看>>
gulp-API介绍
查看>>
CSS position属性---absolute与relative
查看>>
Perl新接触的小命令
查看>>
android--04activity的布局管理器
查看>>
win10系统的快捷键
查看>>
P1268 树的重量
查看>>
《我们不一样团队》项目需求分析改进
查看>>
软件构造 第三章第三节 抽象数据型(ADT)
查看>>
[Lintcode]118. Distinct Subsequences/[Leetcode]115. Distinct Subsequences
查看>>
java List的初始化
查看>>
Longest Palindromic Substring
查看>>
linux导出Mysql数据sql脚本
查看>>
循环神经网络(3)
查看>>
Jmeter自动化测试-----接口测试基本使用实例
查看>>