数据结构知识

简介: 数据结构知识

7-1 h0160. 输出素数


分数 10


编写一个循环,判断A~B之间有多少个素数,并输出所有素数。素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。


输入格式:


输入在一行中给出2个正整数A和B(10<=a,b<=10000)。


输出格式:


输出A~B之间的所有素数,且每个素数占一行。


输入样例:


10 20


输出样例:


1. 11
2. 13
3. 17
4. 19


import io.StdIn
object Main {
    def main(args: Array[String]): Unit = {
        var l = StdIn.readLine()
        var s = l.split(" ")
        var m = s(0).toInt
        var n = s(1).toInt
        for (i <- m to n) {
            var f : Int = 1
            for (j <- 2 to 9 if f != 0){
                if (i % j == 0) f = 0
            }
            if (f == 1) println(i)
        }
    }
}


7-2 h0161. 分解质因数


分数 10


将一个正整数分解质因数。例如:输入90,打印出


1. 90=2*3*3*5
2.



输入格式:


输入在一行中给出1个正整数n(n<10e9)。


输出格式:


在一行中输出n和他的因子值,如样例所示。


输入样例:


90


输出样例:


90=2*3*3*5



7-3 h0161. 求最大公约数和最小公倍数


分数 10


输入两个正整数a和b,求其最大公约数和最小公倍数


输入格式:


输入在一行中给出2个不超过100000的正整数A和B。


输出格式:


在2行中输出A、B的最大公约数和最小公倍数。


输入样例:


42 36


输出样例:


1. 最大公约数为:6
2. 最小公倍数为:252


import io.StdIn
object Main {
    def main (args : Array[String]):Unit={
        var l = StdIn.readLine()
        var s = l.split(" ")
        var a = s(0).toInt
        var b = s(1).toInt
        if (a > b) {
            var t = a;
            a = b;
            b = t;
        }
        var maxn = -0x3f3f3f3f
        for (i <- 1 to b / 2) {
            if (b % i == 0 && a % i == 0) {
                if (maxn < i) {
                    maxn = i
                }
            }
        }
        var g = a * b / maxn
        println("最大公约数为:" + maxn + "\n" + "最小公倍数为:" + g)
    }
}


7-4 h0162. 字符的个数


分数 10


输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。


输入格式:


在一行中给出不超过1000个的字符。


输出格式:


分别输出英文字母、空格、数字和其它字符的个数。


输入样例:


sghye356hf7456767632re;'wetet.';'wetye'tyye;'rw'wetry etew er


输出样例:


字母有 36 个
空格有 2 个
数字有 13 个
其他字符有 10 个


import io.StdIn
object Main {
    def main(args:Array[String]) : Unit = {
        var str = StdIn.readLine()
        var zm ,sz ,back ,qt = 0
        for (i <- str) {
            if ((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z')) {
                zm += 1
            }
            else if (i >= '0' && i <= '9') {
                sz += 1
            }
            else if (i == ' ') {
                back += 1
            }
            else {
                qt += 1
            }
        }
printf("字母有 %d 个\n空格有 %d 个\n数字有 %d 个\n其他字符有 %d 个",zm ,back ,sz ,qt)
    }
}


7-5 h0163. 求值


分数 5


求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。


输入格式:


在一行中给出1个正整数a。


输出格式:


在一行中输出a+aa+aaa+aaaa+aa…a(a个数)的值。


输入样例:


2


输出样例:


24


import io.StdIn
object Main{
    def main(args:Array[String]) : Unit = {
        var x = StdIn.readInt()
        var t ,sum = 0
        for (i <- 1 to x) {
            t = t * 10 + x
            sum += t;
        }
        println(sum)
    }
}


7-6 h0164. 求三位数个数


分数 10


有n(n<10)个数字,能组成多少个互不相同且无重复数字的三位数?


输入格式:


在一行中给出1个不超过10的正整数n。


输出格式:


在一行中输出三位数个数。


输入样例:


4


输出样例:


24


import io.StdIn
object Main {
        def main(args : Array[String]) : Unit = {
            var n = StdIn.readInt()
            var cnt = 0
            for (i <- 1 to n) {
                for (j <- 1 to n) {
                    for (k <- 1 to n) {
                        if (i != j && j != k && i != k) {
                            cnt += 1
                        }
                    }
                }
            }
            println(cnt)
        }
}


7-7 h0165. 最后留下的是谁?


分数 15


有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。


输入格式:


在一行中给出1个不超过1000的正整数n。


输出格式:


在一行中输出最后留下的是原来第几号


输入样例:


5


输出样例:


4


本题还有一个测试点没有过可以参考^_^

import io.StdIn
object Main {
    def main(args : Array[String]) : Unit = {
        var n = StdIn.readInt()
        var s = 0
        for (i <- 2 to n) s = (s + 3) % i
        print(s + 1)
    }
}
目录
相关文章
|
6月前
|
存储 C++ 索引
c++数据结构
c++数据结构
51 3
|
存储 算法 前端开发
常见数据结构
常见数据结构
62 0
|
1月前
|
存储 NoSQL 索引
【数据结构】数据结构学什么?
【数据结构】数据结构学什么?
37 5
|
3月前
|
存储 JavaScript 前端开发
复杂数据结构
【8月更文挑战第25天】
31 0
|
6月前
|
存储 算法 C#
C#编程与数据结构的结合
【4月更文挑战第21天】本文探讨了C#如何结合数据结构以构建高效软件,强调数据结构在C#中的重要性。C#作为面向对象的编程语言,提供内置数据结构如List、Array和Dictionary,同时也支持自定义数据结构。文章列举了C#实现数组、链表、栈、队列等基础数据结构的示例,并讨论了它们在排序、图算法和数据库访问等场景的应用。掌握C#数据结构有助于编写高性能、可维护的代码。
56 3
|
存储 容器
|
6月前
|
存储 算法 前端开发
了解数据结构
了解数据结构相关知识
|
6月前
|
存储 算法 索引
数据结构每日回顾
数据结构每日回顾
37 1
|
6月前
|
NoSQL 容器 消息中间件
数据结构 2.3.7
数据结构 2.3.7
|
6月前
|
算法
数据结构22
数据结构22
24 0