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; 
    }
  • 相关阅读:
    js 鸭式辨型法
    javascript performence
    js继承实现
    js深入理解构造函数和原型对象
    js 变量类型
    JS 严格模式
    鼠标滚动事件
    css3-transform
    js.map error
    canvas(一) 基本线条绘制
  • 原文地址:https://www.cnblogs.com/lusiqi/p/11865488.html
Copyright © 2011-2022 走看看