目录
7-1 h0160. 输出素数
分数 10
输入格式:
输出格式:
输入样例:
输出样例:
7-2 h0161. 分解质因数
分数 10
输入格式:
输出格式:
输入样例:
输出样例:
7-3 h0161. 求最大公约数和最小公倍数
分数 10
输入格式:
输出格式:
输入样例:
输出样例:
7-4 h0162. 字符的个数
分数 10
输入格式:
输出格式:
输入样例:
输出样例:
7-5 h0163. 求值
分数 5
输入格式:
输出格式:
输入样例:
输出样例:
7-6 h0164. 求三位数个数
分数 10
输入格式:
输出格式:
输入样例:
输出样例:
7-7 h0165. 最后留下的是谁?
分数 15
输入格式:
输出格式:
输入样例:
输出样例:
7-1 h0160. 输出素数
分数 10
编写一个循环,判断A~B之间有多少个素数,并输出所有素数。素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。
输入格式:
输入在一行中给出2个正整数A和B(10<=a,b<=10000)。
输出格式:
输出A~B之间的所有素数,且每个素数占一行。
输入样例:
10 20
输出样例:
11
13
17
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)
}
}
}
11 13 17 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,打印出
90=2*3*3*5
输入格式:
输入在一行中给出1个正整数n(n<10e9)。
输出格式:
在一行中输出n和他的因子值,如样例所示。
输入样例:
90
输出样例:
90=2*3*3*5
7-3 h0161. 求最大公约数和最小公倍数
分数 10
90=2*3*3*5
7-3 h0161. 求最大公约数和最小公倍数 分数 10
输入两个正整数a和b,求其最大公约数和最小公倍数。
输入格式:输入在一行中给出2个不超过100000的正整数A和B。
输出格式:在2行中输出A、B的最大公约数和最小公倍数。
输入样例:42 36输出样例:
最大公约数为:6 最小公倍数为: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)
}
}



