pta 习题集 数列求和-加强版】的更多相关文章

给定某数字AA(1≤A≤91≤A≤9)以及非负整数NN(0≤N≤1000000≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯AS=A+AA+AAA+⋯+AA⋯A(NN个AA).例如A=1A=1, N=3N=3时,S=1+11+111=123S=1+11+111=123. 输入格式: 输入数字AA与非负整数NN. 输出格式: 输出其NN项数列之和SS的值. 输入样例: 1 3 输出样例: 123 大数 #include <iostream> #include <strin…
给定某数字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. 输出格式: 输出其N项数列之和S的值. 输入样例: 1 3 输出样例: 123 #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> #include<…
// //  main.c //  53 - 数列求和 - 李洪强 // //  Created by vic fan on 16/10/15. //  Copyright © 2016年 李洪强. All rights reserved. // #include <stdio.h> int main(int argc, const char * argv[]) { //1 ,3,5,7... //中间有多少项相加 //sum = 0 + 1; //sum = 1 + 3; //sum = 4…
特殊a串数列求和 #include <stdio.h> int main() { int i, a, n, item, sum, temp; while (scanf("%d %d", &a, &n) != EOF) { item = 0; sum = 0; temp = a; for (i = 1; i <= n; i++) { item = temp; sum = item+sum; temp = temp*10 + a; } printf(&qu…
传送门 数列求和(Hard) 在数列{$a_n$}中,$a_1=-\frac{1}{4}$,$\frac{1}{a_{n+1}}+\frac{1}{a_n}=\begin{cases}-3(n为偶数)\\3(n为奇数) \end{cases}$ 当n趋近于正无穷时,求{$a_n$}的前n项和. 由泰勒公式得 $$\frac{1}{1+x^3}=1-x^3+x^6-x^9+……+(-1)^nx^{3n}+……(x\in(-1,1))$$ 对两端从0到t进行积分得 $$\int_{0}^{t}\fr…
/** * @author 冰樱梦 * 时间:2018年下半年 * 题目:数列求和 * */ public class Exercise06_13 { public static void main(String[] args){ System.out.printf("%-10s%-12s","i","m(i)" ); System.out.println("\n—————————————————————————————————————…
例23  数列求和 问题描述 已知某数列前两项为2和3,其后继项根据前面最后两项的乘积,按下列规则生成: ① 若乘积为一位数,则该乘积即为数列的后继项: ② 若乘积为二位数,则该乘积的十位上的数字和个位上的数字依次作为数列的两个后继项. 输出该数列的前N项及它们的和. 输入格式 一个整数N(2≤N≤1000). 输出格式 第1行输出该数列的前N项的和. 第2行输出该数列的前N项. 输入样例 10 输出样例 sum(10)=44 2 3 6 1 8 8 6 4 2 4 (1)编程思路. 编写函数i…
题目链接:P5745 [深基附B例]数列求和 现在想说:\(O(N)\)的题要不怎么也想不出来,要不灵光乍现,就像这道题. 我们维护一个类似单调队列的加法单调队列: 若相加大于此数,就将队尾元素弹出,直至满足条件,顺便更新下\(maxn\)值即可. 然后遇见了烦人的头尾双指针,多了个等号就只有\(30\;pts\)了. \(Code\): #include<iostream> #include<cstdio> using namespace std; long long sum=0…
LINK:数列求和 每次遇到这种题目都不太会写.但是做法很简单. 终有一天我会成功的. 考虑类似等比数列求和的东西 帽子戏法一下. 设\(f(k)=\sum_{i=1}^ni^ka^i\) 考虑\(af(k)\)这个式子 两式做差. \((a-1)f(k)=n^n\cdot a^{n+1}-a+\sum_{i=2}^n{a^i((i-1)^k-i^k)}\) 右边直接二项式展开 然后 交换求和顺序可得. \((a-1)f(k)=n^k\cdot a^{n+1}-a+\sum_{j=0}^{k-1…
loj6271 「长乐集训 2017 Day10」生成树求和 加强版(矩阵树定理,循环卷积) loj 题解时间 首先想到先分开三进制下每一位,然后每一位分别求结果为0,1,2的树的个数. 然后考虑矩阵树求出来的是树的边权之积的和,而我们要求树的边权的不进位三进制和的和. 由于矩阵树求出来的是树的边权之积的和,考虑暴力上生成函数求解循环卷积,结果就是 $ c $ 的项的系数和. 但很明显生成函数暴力算是没得整的. 所以我们想到了利用单位根实现的k进制FWT. 很幸运的 $ \omega_{ 3 }…
PTA 7-34 求分数序列前N项和 #include<stdio.h> int main() { int i,n; ,fm = ,sum = ; scanf("%d",&n); ; ; i <= n; i++) { fm = fz; fz = sum; sum = fz + fm; s += fz/fm; } printf("%0.2lf",s); }…
给定某数字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. 输出格式说明: 输出其N项数列之和S的值. 样例输入与输出:   序号 输入 输出 1 1 3 123 2 6 100 740740740740740740740740740740740740740740740740740…
一个比较典型的递归调用问题,总结一下.网上看了一个链接,比较好:http://blog.csdn.net/csd_xiaojin/article/details/7945589 贴个图先,回头再整理: 发现这样写法的速度非常慢,如果传入100,半天也出不来结果. 在百度百科中,斐波那契数列的介绍十分详细: http://baike.baidu.com/link?url=Uv308Mm6h9HeETqkdoU2-uEiIg6orrUlt8-p6xicc4dYuPWwJMDAQZ-_Za2_4zbS…
  题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n-1个分母值相同 所以这里使用了一个辅助数组来做计算 /************************************************************************/ /* 6. 有一分数序列 ,求出这个数列的前20项之和. */ /****************…
题目链接:http://pat.zju.edu.cn/contests/ds/2-06 给定某数字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. 输出格式说明: 输出其N项数列之和S的值. 例子输入与输出: 序号 输入 输出 1 1 3 123 2 6 100 74074074…
题目意思:给定某数字A(1<=A<=9)以及非负整数N(0<=N<=100000),求数列之和S = A + AA + AAA + … + AA…A(N个A) 最开始一想还以为是大数相加,但是想了一下,感觉有规律. 解题思路:n个a相加除以10的余数为当前位的结果,商为新的进位 ,由此可以得到结果的每一位 代码如下(带注释): #include<iostream> using namespace std; int a,n; int sum[100005],k=0;//s…
编写程序,显示1+2+3+4+5+6+7+8+9的结果 public class Homework006 { public static void main(String[] args) { int n=9; { System.out.println((n*(1+n))/2); } }}…
#include "stdio.h" #include "malloc.h" #include "math.h" void calc(int num,int N,long *data); int main() { int N,num; long *result; scanf("%d",&num); scanf("%d",&N); result=(long *)malloc(N*sizeof(…
    ------------------------------------------------------------------------------- 转载请注明出处 博客园 刺猬的温驯 本文链接 http://www.cnblogs.com/chenying99/p/4966005.html…
题意: 给出n, k,求 分析: 假设,则k mod (i+1) = k - (i+1)*p = k - i*p - p = k mod i - p 则对于某个区间,i∈[l, r],k/i的整数部分p相同,则其余数成等差数列,公差为-p 然后我想到了做莫比乌斯反演时候有个分块加速,在区间[i, n / (n / i)],n/i的整数部分相同,于是有了这份代码. #include <cstdio> #include <algorithm> using namespace std;…
又是一个矩阵树套多项式的好题. 这里我们可以对每一位单独做矩阵树,但是矩阵树求的是边权积的和,而这里我们是要求加法,于是我们i将加法转化为多项式的乘法,其实这里相当于一个生成函数?之后如果我们暴力做的话,就是强行带入x插值,复杂度$O(8*2n*n^{3})$,还不够优秀,于是我们考虑用$dft$优化这个过程,这里我们需要找到一个三次单位根,于是我们考虑扩域的思想,我们把数表示为$(a+b*w_{3})$,这里$w_{3}$满足$w_{3}^{3}=1$且$w_{3}^{1}+w_{3}^{2}…
假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2500),为总课程数.此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字).一个正整数C(≤20)代表该生所选的课程门数.随后是C个课程编号.简单起见,课程从1到K编号. 输出格式: 顺序输出课程1到K的选课学生名单.格式为:对每一门课,首先在一行中输出课程编号和选课学生总数(之间用空格分隔),之后…
传送门 由于是边权三进制不进位的相加,那么可以考虑每一位的贡献 对于每一位,生成树的边权相当于是做模 \(3\) 意义下的加法 考虑最后每一种边权的生成树个数,这个可以直接用生成函数,在矩阵树求解的时候做一遍这个生成函数的模 \(3\) 意义下的循环卷积求出系数即可 暴力多项式运算不可取 考虑选取 \(3\) 个数字 \(x_i\),使得 \(x_i^3\equiv1(mod~10^9+7)\) 即找出 \(3\) 次单位复数根 \(\omega_3^0,\omega_3^1,\omega_3^…
人类学研究对于家族很感兴趣,于是研究人员搜集了一些家族的家谱进行研究.实验中,使用计算机处理家谱.为了实现这个目的,研究人员将家谱转换为文本文件.下面为家谱文本文件的实例: John Robert Frank Andrew Nancy David 家谱文本文件中,每一行包含一个人的名字.第一行中的名字是这个家族最早的祖先.家谱仅包含最早祖先的后代,而他们的丈夫或妻子不出现在家谱中.每个人的子女比父母多缩进2个空格.以上述家谱文本文件为例,John这个家族最早的祖先,他有两个子女Robert和Na…
地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式.地道网是房连房.街连街.村连村的地下工事,如下图所示. 我们在回顾前辈们艰苦卓绝的战争生活的同时,真心钦佩他们的聪明才智.在现在和平发展的年代,对多数人来说,探索地下通道或许只是一种娱乐或者益智的游戏.本实验案例以探索地下通道迷宫作为内容. 假设有一个地下通道迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关.请问你如何从某个起点开始在迷宫中点亮所有的灯并回到起点? 输入格式: 输入第一行…
哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决了这个问题,并由此创立了拓扑学. 这个问题如今可以描述为判断欧拉回路是否存在的问题.欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个无向图,问是否存在欧拉回路? 输入格式: 输入第一行给出两个正整数,分别是节点数NN (1≤N≤10001≤N≤1000)和边数…
某学校有N个学生,形成M个俱乐部.每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈.一个学生可以同时属于若干个不同的俱乐部.根据"我的朋友的朋友也是我的朋友"这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友.请编写程序计算最大朋友圈中有多少人. 输入格式: 输入的第一行包含两个正整数N(≤≤30000)和M(≤≤1000),分别代表学校的学生总数和俱乐部的个数.后面的M行每行按以下格式给出1个俱乐部的信息,其中学生从1~N编号: 第i个俱乐部的人数Mi(空格…
1 ====== <--移动方向 / 3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过"列车厢调度问题"(当然没见过也不要紧).今天,我们就来实际操作一下列车厢的调度.对照上方的ASCII字符图,问题描述如下: 有三条平行的列车轨道(1.2.3)以及1-3和2-3两段连接轨道.现有一列车厢停在1号轨道上,请利用两条连接轨道以及3号轨道,将车厢按照要求的顺序转移到2号轨道.规则是: 每次转移1节车厢: 处在1号轨道的车厢要么经过1-3连…
假设全校有最多40000名学生和最多2500门课程.现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单. 输入格式: 输入的第一行是两个正整数:N(≤≤40000),为前来查询课表的学生总数:K(≤≤2500),为总课程数.此后顺序给出课程1到K的选课学生名单.格式为:对每一门课,首先在一行中输出课程编号(简单起见,课程从1到K编号)和选课学生总数(之间用空格分隔),之后在第二行给出学生名单,相邻两个学生名字用1个空格分隔.学生姓名由3个大写英文字母+1位数字组成.选课信息之后,在…
[先说点出题背景] 这个题是为低年级同学.学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂.如果是高年级.学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧.哦,对了,什么是tokenizer?请自行查询解决.反正在此处不应翻译成"令牌解析器". [正题] 四则运算表达式由运算数(必定包含数字,可能包含正或负符号.小数点).运算符(包括+.-.*./)以及小括号((和))组成,每个运算数…