zoukankan      html  css  js  c++  java
  • 【蓝桥杯】历届试题 带分数

    历届试题 带分数
    时间限制:1.0s   内存限制:256.0MB
          
     
    问题描述

    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
     
     
    Java源代码:
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            // 表示存在的个数。
            int rightnum = 0;
            Scanner sc = new Scanner(System.in);
            int num = sc.nextInt();
            for (int i = 1; i < num; i++) {
                // 将两个数分解开,num = i + sub/j ;
                int sub = num - i;
                // j代表分母。
                int j = 0;
                String temp = new String();
    
                while (temp.length() < 10) {
                    j++;
                    // temp组合字符串
                    temp = sub * j + "" + j + "" + i;
                    // 增大分母,保证够9位数。
                    if (temp.length() < 9) {
                        j++;
                        continue;
                    }
                    int flag[] = new int[10];
                    // 是否应该输出。
                    boolean ifoutput = true;
                    for (int k = 0; k < temp.length(); k++) {
                        // 判断排出带有0的项和重复数字的情况。
                        if (temp.charAt(k) - 48 == 0
                                || flag[temp.charAt(k) - 48] == 1) {
                            ifoutput = false;
                            break;
                        } else {
                            flag[temp.charAt(k) - 48] = 1;
                        }
                    }
                    if (ifoutput) {
                        rightnum++;
                    }
                }
            }
            System.out.println(rightnum);
        }
    }
    评测点序号评测结果得分CPU使用内存使用下载评测数据
    1 正确 33.33 234ms 30.18MB 输入 输出
    2 正确 33.33 234ms 30.19MB 输入 输出
    3 正确 33.33 312ms 31.64MB 输入 输出
  • 相关阅读:
    python自动化测试_6
    python自动化测试_5
    python自动化测试_4
    python自动化测试_3
    第一次个人编程作业
    第一次博客作业
    HangOver
    CSS实现动画特效导航栏
    CSS伪类整理笔记
    JavaScript闭包应用的整理
  • 原文地址:https://www.cnblogs.com/wuqianling/p/5343260.html
Copyright © 2011-2022 走看看