zoukankan      html  css  js  c++  java
  • 140. 带分数 (15分)

    题目内容:
        100 可以表示为带分数的形式:100 = 3 + 69258 / 714
        还可以表示为:100 = 82 + 3546 / 197
        注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。
        类似这样的带分数,100 有 11 种表示法。
    题目要求:
    从标准输入读入一个正整数N (N<1000*1000)
    程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。
    注意:不要求输出每个表示,只统计有多少表示法!

    例如:
    用户输入:
    100
    程序输出:
    11
    输入描述
    从标准输入读入一个正整数N (N<1000*1000)

    输出描述
    程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。

    输入样例
    100

    输出样例
    11

    #include<iostream>
    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    int number[9];
    int ans = 0;
    int compute(int left,int right){
        int a =0 ;
        for(int i = left;i<=right;i++){
            a = a*10+number[i];
        }
        return a;
    }
    
    
    int main(){
        for(int i=0;i<9;i++){
            number[i] = i+1;
        }
        int n;
        scanf("%d",&n);
        do {
            for(int i = 0;i<7;i++){
                for(int j = i+1;j<8;j++){
                    int a = compute(0,i), b = compute(i+1,j),c = compute(j+1,8);
                    if(b%c!=0||a+b/c!=n)
                        continue;
                    ans++;
                }
            }
        }while(next_permutation(number,number+9));
        cout<<ans<<endl;
        return 0; 
    }
  • 相关阅读:
    JAVA Aes加密解密
    15个实用的jQuery代码片
    mybatis-generator-config工具的使用
    Oracle中Merge into用法总结
    Highcharts 在低版本 IE 上使用注意事项及个人总结
    梦想是什么
    博客美化基本后台设置与样式设置
    IntelliJ Idea 常用快捷键列表
    磁盘
    [半转]1px边框 移动端
  • 原文地址:https://www.cnblogs.com/lusiqi/p/11865488.html
Copyright © 2011-2022 走看看