《数据结构学习与实验指导》2-6:数列求和
来源:互联网 发布:gas mask mac 下载 编辑:程序博客网 时间:2024/05/16 04:31
实验内容:给定某整数A(1<=A<=9)以及非负整数N(0<=N<=100000),求数列和S=A+AA+AAA+……+AA……A(N个A)。例如A=1,N=3时,S=1+11+111=123。
输入说明:输入数字A与非负整数N。
输出说明:输出S的值。
测试用例:
1 3 | 123
6 100 | 7407407407407407407407407407407407407407407407407407407407407407407407407407407407407407407407407340
1 0 | 0
#include <stdio.h>#include <stdlib.h>int main() { int A, N; scanf("%d %d", &A, &N); int *arr = (int *) malloc((N + 1) * sizeof(int)); for (int i = 0; i <= N; i++) { *(arr + i) = 0; } for (int i = N; i >= 1; i--) { *(arr + i) += i * A; *(arr + i - 1) += *(arr + i) / 10; *(arr + i) %= 10; } if (N == 0) { printf("0"); } else { int i = 0; if (*(arr) == 0) { i = 1; } for (; i <= N; i++) { printf("%d", *(arr + i)); } } printf("\n"); free(arr); return 0;}
另一方法:使用递归
#include <stdio.h>void recurse(int A, int N, int i, int carry);int main() { int A, N; scanf("%d %d", &A, &N); if (N == 0) { printf("0\n"); return; } recurse(A, N, N, 0); printf("\n"); return 0;}void recurse(int A, int N, int i, int carry) { if (i == 0) { if (carry != 0) { printf("%d", carry); } } else { int num = i * A + carry; carry = num / 10; recurse(A, N, i - 1, carry); num = num % 10; printf("%d", num); }}
阅读全文
0 0
- 《数据结构学习与实验指导》2-6:数列求和
- <数据结构学习与实验指导>2-6数列求和/2-7素因子分解/
- PAT《数据结构学习与实验指导》实验项目集 2-06. 数列求和(20) C语言
- 《数据结构学习与实验指导》3-6:表达式转换
- 《数据结构学习与实验指导》4-6:搜索树判断
- <数据结构学习与实验指导>2-1:简单计算器
- 《数据结构学习与实验指导》2-1:简单计算器
- 《数据结构学习与实验指导》2-7:素因子分解
- 《数据结构学习与实验指导》2-9:装箱问题模拟
- 《数据结构学习与实验指导》2-10:海盗分赃
- 《数据结构学习与实验指导》4-2:树种统计
- 实验项目2-6:数列求和
- PAT《数据结构学习与实验指导》实验项目集 2-06
- PAT《数据结构学习与实验指导》实验项目集 2-05
- PAT《数据结构学习与实验指导》实验项目集 2-07
- PAT《数据结构学习与实验指导》实验项目集 2-09
- PAT《数据结构学习与实验指导》实验项目集 2-11
- PAT《数据结构学习与实验指导》实验项目集 2-12
- 【zoj】约瑟夫环相关- system overload
- ubuntu16.04下安装tensorflow(二)
- 多重继承引发的二义性问题及解决方法分析
- Git使用
- 硬编码与软编码
- 《数据结构学习与实验指导》2-6:数列求和
- 如何将从数据库中读出的带有html标签的字符串,让标签起效,显示在前台页面
- FastDFS & Nginx install
- Maven的下载 安装 环境配置
- LINUX下实现sleep
- Multi-Programming-9 非线程安全类实现生产者和消费者
- #pragma warning 指令集
- Git使用详细教程
- ubuntu误删文件造成软件包信息列表损坏无法更新或安装文件