万卷网 > 题目详情
题型:编程题

加号放哪里

给定任一个正整数 N,我们要从它开始,经过一系列操作得到一个个位数。操作方法是在 N 的各位数字之间放置一个加号,然后执行这个加法计算,得到一个新的数字 N1,再对 N1 执行同样操作,得到 N2 …… 以此类推,直到最后得到的数字只有 1 位,则停止。

例如我们从 N=1234567890 出发,在 5 和 6 之间放置加号,计算 12345+67890=80235;然后在 0 和 2 之间放置加号,计算 80+235=315;然后在 1 和 5 之间放置加号,计算 31+5=36;最后在 3 和 6 之间放置加号,得到 3+6=9 而停止。这样我们通过 4 次计算得到了一个个位数 9。

本题就请你为任一给定的正整数计算:最少需要多少次加号放置可以得到个位数?

注意:加号必须放置在两个数字之间,不可放置在数字的首尾。

时间限制:7000

内存限制:65536

输入

输入在一行中给出一个正整数 n(≤ 1020)。

输出

在一行中首先输出将输入的整数变为个位数,需要放置加号的最少次数;随后输出最后得到的那个个位数。如果最后得到的个位数不唯一,输出最小的那个。 数字间以 1 个空格分隔,行首尾不得有多余空格。

样例输入

1234567890

样例输出

3 9

提示

样例解释: 最优划分是: 1. 12345678+90=12345768 2. 1234+5768=7002 3. 7+002=9

更新时间:2024-08-30 11:15:28 |
【知识点】 电子学会C/C++三级

相似题推荐

编程题

画作

题目描述

墙上,挂着一幅由 n×n 个彩色方格组成的画作。画作的内容可以用一个 n×n 的字符矩阵来表示。

现在想要将这幅画顺时针旋转 90 度后重新悬挂,请你他计算出旋转后的画作是什么样的。

输入格式

第一行,一个整数表示 n

接下来 n 行,每行 n 个字符。

输出格式

输出 n 行,每行 n 个字符,表示顺时针旋转 90 度后的矩阵。

输入样例#1

4
ooxx
xoox
xxxx
xxxx

输出样例#1

xxxo
xxoo
xxox
xxxx

输入样例#2

2
12
34

输出样例#2

31
42

说明提示

1≤n≤1000

2026-07-26
判断题

C++的`string`类可以直接用`+`运算符拼接。( )

A.正确 B.错误
2026-07-25
判断题

`strlen()`函数功能是计算字符串长度。( )

A.正确 B.错误
2026-07-25
编程题

花坛

题目描述

花坛里有 n 朵花,每朵花的编号为 1,2,…,n。初始时,所有花的高度都是 0。

现在给定一个数列 h={h1,h2,…,hn},你可以重复进行如下的浇水操作,每次操作:任选一段连续区间 [l,r],区间内每朵花高度加 1。可以无限重复该操作,使得第 k 朵花的最终高度恰好为 hk(1≤k≤n)。

求完成目标需要的最小操作浇水次数。

输入格式

第一行一个整数,表示花的数量 n

第二行 n 个整数,依次表示每朵花需要达到的目标高度 h1,h2,…,hn

输出格式

输出一个整数,表示达成目标所需的最少浇水操作次数。

输入样例#1

5
3 1 2 3 1

输出样例#1

5

输入样例#2

8
4 23 75 0 23 96 50 100

输出样例#2

221

说明提示

1≤n≤100

0≤hi≤100

所有输入均为整数

2026-07-25
判断题

递归函数可以没有终止条件,编译器会自动处理。( )

A.正确 B.错误
2026-07-25
公众号
客服 反馈
顶部