例7.2】与圆相关的计算 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 64MB,其他语言 128MB 难度:入门 分数:100 OI排行榜得分:12(0.1*分数+2*难度) 出题人: 描述 给出圆的半径,求圆的直径、周长和面积。 如果圆的半径是 r,那么圆的直径、周长、面积分别是2×r、2×π×r、π×r×r,其中约定π=3.14159。 输入描述 输入包含一个实数r(0<r≤10,000),表示圆的半径。 输出描述 输出一行,包含三个数,分别表示圆的直径、周长、面积,数与数之间以一个空格分开,每个数保留 4 位小数。 用例输入 1 3.0 用例输出 1 6.0000 18.8495 28.2743 来源 http://bas.ssoier.cn:8086/problem_show.php?pid=3028 顺序结构c++
```cpp #include <iostream> #include <iomanip> int main() { // 定义圆周率 const double pi = 3.14159; // 定义半径变量 double r; // 输入半径 std::cin >> r; // 计算直径 double diameter = 2 * r; // 计算周长 double circumference = 2 * pi * r; // 计算面积 double area = pi * r * r; // 设置输出精度为4位小数 std::cout << std::fixed << std::setprecision(4); // 输出直径、周长和面积,用空格分隔 std::cout << diameter << " " << circumference << " " << area << std::endl; return 0; } ``` 代码解释: 1. 常量定义:`const double pi = 3.14159;` 定义了圆周率 `pi` 为常量,确保其值在程序运行过程中不会改变。 2. 输入半径:使用 `std::cin >> r;` 从标准输入读取一个实数作为圆的半径。 3. 计算:根据圆的直径、周长和面积公式,分别计算出直径 `diameter`、周长 `circumference` 和面积 `area`。 4. 输出设置:`std::cout << std::fixed << std::setprecision(4);` 设置输出格式,使得后续输出的浮点数保留4位小数。 5. 输出结果:使用 `std::cout` 输出直径、周长和面积,中间用空格分隔,并在最后换行。 [2026-02-02 17:41:00 | AI问答 | 382点数解答]
- [字节豆包] 例7.2】与圆相关的计算 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 64MB,其他语言 128MB 难度:入门 分数:100 OI排行榜得分:12(0.1*分数+2*难度) 出题人: 描述 给出圆的半径,求圆的直径、周长和面积。 如果圆的半径是 r,那么圆的直径、周长、面积分别是2×r、2×π×r、π×r×r,其中约定π=3.14159。 输入描述 输入包含一个实数r(0<r≤10,000),表示圆的半径。 输出描述 输出一行,包含三个数,分别表示圆的直径、周长、面积,数与数之间以一个空格分开,每个数保留 4 位小数。 用例输入 1 3.0 用例输出 1 6.0000 18.8495 28.2743 来源 http://bas.ssoier.cn:8086/problem_show.php?pid=3028 顺序结构c++(382点数解答 | 2026-02-02 17:41:00)7
- [字节豆包] 题目描述 在甜甜圈王国中,每颗甜甜圈都有一个甜度值 S 来衡量其甜蜜程度。根据甜度的不同,甜甜圈被评定为不同的等级,具体规则如下: 如果 S 在 0 到 25 之间(包含 0 和 25 ),输出 "普通甜甜圈"; 如果 S 在 26 到 50 之间(包含 26 和 50 ),输出 "美味甜甜圈"; 如果 S 在 51 到 75 之间(包含 51 和 75 ),输出 "极品甜甜圈"; 如果 S 在 76 到 99 之间(包含 76 和 99 ),输出 "绝世甜甜圈"; 如果 S 等于 100 ,输出 "传说甜甜圈"。 请根据给定的甜度值 S,输出对应的甜甜圈等级名称。 输入格式 一行一个整数 S,表示甜甜圈的甜度值。(243点数解答 | 2025-12-06 18:35:50)59
- [字节豆包] 定义具有继承关系的点类point和圆类circle和测试类mainclass, point类具有x,y两个属性,用于表示点的坐标(整数),为point类添加相应构造方法point(x,y)。(2)circle类为point类的子类,它本身包含半径radius(整数),为circle类添加相应构造方法circle(x,y ,radius),求周长(小数)getperi ()和求面积(小数)getarea0)的方法,在方法中打印相关结果(公式:周长=2*3.14*半径,面积=3.14*半径*半径)。 (3)创建测试类mainclass,在其main方法中创建circle类对象c,圆心坐标(50,30),半径为4,调用对象c的相关方法打印的圆的周长和面积。(246点数解答 | 2024-11-11 16:36:30)312
- [字节豆包] 【例78.3】回文数(Noip1999) 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 64MB,其他语言 128MB 难度:提高 分数:100 OI排行榜得分:18(0.1*分数+2*难度) 出题人: 描述 若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。又如,对于10进制数87, STEP1: 87+78=165 STEP2: 165+561=726 STEP3: 726+627=1353 STEP4: 1353+3531=4884 在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。 写一个程序,给定一个N(2<N≤10或N=16)进制数 M.求最少经过几步可以得到回文数。如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible” 。 输入描述 第1行,给定一个N(2<N≤10或N=16)表示进制; 第2行,一个N进制数M。 输出描述 最少几步。如果(811点数解答 | 2026-02-02 17:44:17)8
- [字节豆包] 【NOIP2014 基础】螺旋矩阵 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 128MB,其他语言 256MB 难度:提高 分数:100 OI排行榜得分:18(0.1*分数+2*难度) 出题人: 描述 一个 n 行 n 列的螺旋矩阵可由如下方法生成: 从矩阵的左上角(第 1 行第 1 列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入 1,2,3,...,n 2 ,便构成了一个螺旋矩阵。 下图是一个 n=4 时的螺旋矩阵。 ⎝ ⎜ ⎜ ⎜ ⎛ 1 12 11 10 2 13 16 9 3 14 15 8 4 5 6 7 ⎠ ⎟ ⎟ ⎟ ⎞ 现给出矩阵大小 n 以及 i 和 j,请你求出该矩阵中第 i 行第 j 列的数是多少。 输入描述 共一行,包含三个整数 n, i, j,每两个整数之间用一个空格隔开,分别表示矩阵大小、待求的数所在的行号和列号。 输出描述 一个整数,表(289点数解答 | 2026-02-02 17:32:56)6
- [字节豆包] [GESP202503 五级] 原根判断 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 256MB,其他语言 512MB 难度:未知 分数:100 OI排行榜得分:20(0.1*分数+2*难度) 出题人: 描述 小 A 知道,对于质数 p 而言,p 的原根 g 是满足以下条件的正整数: 1<g<p; g p−1 modp=1; 对于任意 1≤i<p−1 均有 g i modp =1。 其中 amodp 表示 a 除以 p 的余数。 小 A 现在有一个整数 a,请你帮他判断 a 是不是 p 的原根。 输入描述 第一行,一个正整数 T,表示测试数据组数。 每组测试数据包含一行,两个正整数 a,p。 输出描述 对于每组测试数据,输出一行,如果 a 是 p 的原根则输出 Yes,否则输出 No。 用例输入 1 3 3 998244353 5 998244353 7 998244353 用例输出 1 Yes Yes No 提示 【数据范围】 对于 40% 的测试点,保证 3≤p≤10 3 。 对于所有测试(668点数解答 | 2026-02-02 17:30:47)6
- [字节豆包] [GESP202503 五级] 原根判断 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 256MB,其他语言 512MB 难度:未知 分数:100 OI排行榜得分:20(0.1*分数+2*难度) 出题人: 描述 小 A 知道,对于质数 p 而言,p 的原根 g 是满足以下条件的正整数: 1<g<p; g p−1 modp=1; 对于任意 1≤i<p−1 均有 g i modp =1。 其中 amodp 表示 a 除以 p 的余数。 小 A 现在有一个整数 a,请你帮他判断 a 是不是 p 的原根。 输入描述 第一行,一个正整数 T,表示测试数据组数。 每组测试数据包含一行,两个正整数 a,p。 输出描述 对于每组测试数据,输出一行,如果 a 是 p 的原根则输出 Yes,否则输出 No。 用例输入 1 3 3 998244353 5 998244353 7 998244353 用例输出 1 Yes Yes No 提示 【数据范围】 对于 40% 的测试点,保证 3≤p≤10 3 。 对于所有测试(511点数解答 | 2026-02-03 17:11:00)7
- [字节豆包] 求整数的和与均值 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 256MB,其他语言 512MB 难度:入门 分数:100 OI排行榜得分:12(0.1*分数+2*难度) 出题人: 描述 读入n(1≤n≤10000)个整数,求它们的和与均值。 输入描述 输入第一行是一个整数n,表示有n个整数。 第2~n+1行每行包含1个整数。 每个整数的绝对值均不超过10000。 输出描述 输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。 用例输入 1 4 344 222 343 222 用例输出 1 1131 282.75000c++(347点数解答 | 2026-02-03 16:55:06)9
- [字节豆包] 求整数的和与均值 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 256MB,其他语言 512MB 难度:入门 分数:100 OI排行榜得分:12(0.1*分数+2*难度) 出题人: 描述 读入n(1≤n≤10000)个整数,求它们的和与均值。 输入描述 输入第一行是一个整数n,表示有n个整数。 第2~n+1行每行包含1个整数。 每个整数的绝对值均不超过10000。 输出描述 输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。(503点数解答 | 2026-02-03 21:08:10)8
- [字节豆包] 【提高】Comfortable Cows 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 128MB,其他语言 256MB 难度:提高 分数:100 OI排行榜得分:18(0.1*分数+2*难度) 出题人: 描述 Farmer Nhoj 的草地可以被看作是一个由正方形方格组成的巨大的二维方阵(想象一个巨大的棋盘)。初始时,草地上是空的。 Farmer Nhoj 将会逐一地将 NN(1≤N≤105)头奶牛加入到草地上。第 ii 头奶牛将会占据方格 (xi,yi),不同于所有已经被其他奶牛占据的方格(0≤xi,yi≤1000)。 一头奶牛被称为是「舒适的」,如果它水平或竖直方向上与恰好三头其他奶牛相邻。然而,太舒适的奶牛往往产奶量落后,所以 Farmer Nhoj 想要额外加入一些奶牛直到没有奶牛(包括新加入的奶牛)是舒适的。注意加入的奶牛的 xx 和 yy 坐标并不一定需要在范围 0…1000内。 对于 1…N 中的每个 i,输出当初始时草地上有奶牛 1…i 时,Farmer Nhoj 为使得没有奶牛舒适,需要加入的奶牛的最小数量。(956点数解答 | 2026-02-02 17:26:13)7
- [字节豆包] 【基础】Even More Odd Photos 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 128MB,其他语言 256MB 难度:基础 分数:100 OI排行榜得分:14(0.1*分数+2*难度) 出题人: 描述 Farmer John 正再一次尝试给他的 N 头奶牛拍照(2≤N≤1000)。 每头奶牛有一个范围在 1…100 之内的整数的「品种编号」。Farmer John 对他的照片有一个十分古怪的构思:他希望将所有的奶牛分为不相交的若干组(换句话说,将每头奶牛分到恰好一组中)并将这些组排成一行,使得第一组的奶牛的品种编号之和为偶数,第二组的编号之和为奇数,以此类推,奇偶交替。 Farmer John 可以分成的最大组数是多少? 输入描述 输入的第一行包含 N。下一行包含 N 个空格分隔的整数,为 N 头奶牛的品种编号。 输出描述 输出 Farmer John 的照片中的最大组数。可以证明,至少存在一种符合要求的分组方案。 用例输入 1 7 1 3 5 7 9 11 13 用例输出 1 3 提示 输入(841点数解答 | 2026-02-03 15:18:32)4
- [字节豆包] 算法提高 夺宝奇兵 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 512MB,其他语言 1024MB 难度:提高 分数:100 OI排行榜得分:18(0.1*分数+2*难度) 出题人: 描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ”夺宝奇兵”从山下出发,到达山顶,如何选路才能得到最多的珠宝呢?在上图所示例子中,按照5->7->8->3->7的顺序,将得到最大值30 输入描述 第一行正整数N(100>=N>1),表示山的高度 接下来有N行非负整数,第i行有i个整数(1<=i<=N),表示山的第i层上从左到右每条路上的珠宝数目 输出描述 一个整数,表示从山底到山顶的所能得到的珠宝的最大数目. 用例输入 1 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 用例输出 1 30 来源 蓝桥杯练习系统C++(456点数解答 | 2026-02-03 17:12:35)7