sum

循环

你。 提交于 2020-02-19 19:58:14
循环 要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来。 但是,要计算1+2+3+...+10000,直接写表达式就不可能了。 为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。 Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子: names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name) 执行这段代码,会依次打印 names 的每一个元素: Michael Bob Tracy 所以 for x in ... 循环就是把每个元素代入变量 x ,然后执行缩进块的语句。 再比如我们想计算1-10的整数之和,可以用一个 sum 变量做累加: sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum) 如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个 range() 函数,可以生成一个整数序列,再通过 list() 函数可以转换为list。比如 range(5) 生成的序列是从0开始小于5的整数: >>> list(range(5)) [0, 1, 2, 3

Scala学习-变量常量、运算符、流程控制和函数

断了今生、忘了曾经 提交于 2020-02-17 18:58:44
scala是马丁.奥德斯克设计的,专门为程序员设计,广泛应用于大数据的语言。它同时支持面向对象和面向函数编程,运行scala需基于JVM,使用它需要提前安装好JDK和scala SDK。scala的的代码一行可以顶多行java代码,开发效率高,并且兼容java类库,scala编译完也是.class文件。另外大数据框架kafka和spark是基于scala开发的,因此想做流处理需要学习scala。 基本数据类型 scala中没有基本类型的说法,绝大多数类型(类似java类型)都封装成了类,以下是它的简图。 (1)Any是scala顶级父类。 (2)AnyVal是所有数值类型的父类,注意有一个Unit,它只有一个实例()。 (3)AnyRef是所有对象类型的父类,注意Null是它的子类,它的实例对象是null,可以赋值给任意对象类型。 (3)Nothing可以是任何类型的子类,可以表示不正常的返回值类型,如异常。 # RPEL交互方式 scala> def test():Nothing={ | throw new IllegalArgumentException() | } test: ()Nothing 变量和常量 变量声明的语法:'var 变量名:数据类型=数据值' 或者 'var 变量名=数据值',后者会进行自动类型转换。常量声明类似,使用val代表常量。

分子量(Molar Mass, ACM/ICPC Seoul 2007, UVa1586)

亡梦爱人 提交于 2020-02-17 10:23:14
分子量(Molar Mass, ACM/ICPC Seoul 2007, UVa1586) 给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4种原子,分别为C, H, O, N,原子量分别为12.01, 1.008, 16.00, 14.01(单位:g/mol)。例如,C6H5OH的分子量为94.108g/mol。 # include <stdio.h> # include <string.h> # define maxn 10005 char s [ maxn ] ; int main ( ) { scanf ( "%s" , s ) ; double sum = 0 ; int i = 0 , j = 0 , temp = 0 ; while ( i < strlen ( s ) ) { j = i + 1 ; if ( ( s [ i ] == 'C' ) || ( s [ i ] == 'H' ) || ( s [ i ] == 'O' ) || ( s [ i ] == 'N' ) ) { while ( ( s [ j ] != 'C' ) && ( s [ j ] != 'H' ) && ( s [ j ] != 'O' ) && ( s [ j ] != 'N' ) && ( j < strlen ( s ) ) ) { //j指向下一个原子 j +

bash for循环写法

我与影子孤独终老i 提交于 2020-02-17 09:34:48
for 依次访问列表里的元素。 由空格或回车分隔的串就是列表。 for var in 列表 ; do done 列表的生成方式 直接写: for num in 1 2 3 4 5 6 ist in ; do done for username in us1 us2 us3 ist in ; do done 展开 for num in {1..2}; do echo $num done 使用seq命令生成 seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LAST FIRST:起始 INCREMENT:步长 LAST:结尾 例子: # seq 2 1 2 # seq 3 1 2 3 # seq 2 4 2 3 4 # seq 2 3 9 2 5 8 for n1 in `seq 20 22`; do echo -n "$n1" done 命令的返回值是列表 ls , cat 命令的返回值都是列 for var in `ls /root`; do echo $var done for var in `cat /etc/fstab `; do echo $var done glob也能返回列表 for var in /etc/pu*; do echo $var done 变量引用

第2章-1 计算 11+12+13+...+m python

时光毁灭记忆、已成空白 提交于 2020-02-17 09:15:23
输入一个正整数m(20<=m<=100),计算 11+12+13+…+m 的值。 输入格式: 在一行输入一个正整数m。 输出格式: 在一行中按照格式“sum = S”输出对应的和S. 输入样例: 在这里给出一组输入。例如: 90 输出样例: 在这里给出相应的输出。例如: sum = 4040 m = int ( input ( )) sum = 0 for i in range ( 11,m+1 ) : sum = sum+i print ( "sum = %d" %sum ) 来源: CSDN 作者: 仗剑倚天涯 链接: https://blog.csdn.net/weixin_45948920/article/details/104345352

python 简单图像处理(5) 缩放

雨燕双飞 提交于 2020-02-17 08:26:31
好啦,在这里我要介绍图像的缩放啦 图像比例缩放是指将给定的图像在x轴方向按比例缩放,在y轴方向也按比例缩放,从而获得一幅新的图像。 如果两个方向上缩放比例相等,则为全比例缩放,否则为非全比例缩放 比例缩放用矩阵形式可表示为 代数式为 我们先来看图像的比例缩小变换 介绍两种简单的缩小变换方法: 基于等间隔采样的图像缩小方法 基于局部均值的图像缩小方法 基于等间距采样的图像缩小方法的设计思路是,对画面像素均匀采样来保持所选像素仍旧可以保持图像的特征 说白了,就是选择一些点,舍弃一些点,用选择的点组成一幅图,使它和原图差不多 若比例因子为m和n,原图的矩阵为f[M×N],缩小后的矩阵为g[(M*m)×(N*n)] 由于原图像素点多,映射到g后会出现多点对一点的现象 所以我们从g映射到f, 则有g(i,j) = f(i/m,j/n) 我们可以很快写出测试程序: import cvdef Reduce(image,m,n): H = int(image.height*m) W = int(image.width*n) size = (W,H) iReduce = cv.CreateImage(size,image.depth,image.nChannels) for i in range(H): for j in range(W): x = int(i/m) y = int(j/n)

Java第三次作业

我的未来我决定 提交于 2020-02-17 04:20:54
import java.util.Scanner; public class and { public static void main(String[] args) { int nextValue; int sum=0; Scanner sc = new Scanner(System.in);//创建从键盘读取数据的Scanner对象 sc.useDelimiter("\s");//设置空格为数据的分隔符 while(sc.hasNextInt()){//判断是否有数据可读 nextValue = sc.nextInt();//读取从键盘输入的一个整数 sum += nextValue; } System.out.println("Sum:" + sum); System.out.printf("Sum: %d",sum); sc.close();} } 来源: https://www.cnblogs.com/ly243205405/p/5330072.html

面向对象程序设计寒假作业3

大城市里の小女人 提交于 2020-02-16 21:56:46
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020OOP 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10288 这个作业的目标 1.继续完成作业二的编程题。 2.优化架构,思考代码的拓展性 3.或者扩大数字范围,支持负数 4.编译代码 5.测试代码 6.作业上传仓库 作业正文 https://www.cnblogs.com/Sweetxinxin/p/12316634.html 其他参考文献 https://www.cnblogs.com/sddai/p/10249243.html https://www.cnblogs.com/hclw/p/9560442.html https://wenda.so.com/q/1365038777067506 仓库地址 https://github.com/Sweetxinxin/winter-vocation-homework-3 Part 1 第二次作业完善 a.编译脚本 经过询问同学查找资料第二次作业得到了有效解决 关于编译脚本的路径问题,通过配置gcc环境及在控制面板中找到高级选项环境变量的path中添加gcc的路径 找到名为ComSpec的系统变量,查看是否是 :“%SystemRoot%

「笔记」$Min\\_25$筛

旧街凉风 提交于 2020-02-16 21:53:06
总之我也不知道这个奇怪的名字是怎么来的。 \(Min\_25\) 筛用来计算一类积性函数前缀和。 如果一个积性函数 \(F(x)\) 在质数单点是一个可以快速计算的关于此质数的多项式。 那么可以用 \(Min\_25筛\) 。 这个东西和质数关系很大。 我们考虑分开处理质数和非质数的贡献。 首先处理质数: 设, \(R(n)\) 为 \(n\) 的最小质因子, \(P\) 为质因子集合, \(p_i\) 为从小到大第 \(i\) 个质数。 \(\forall\ x\in P,F(x)=x^k\) 。 设: \[g(n,j)=\sum\limits_{i=1}^{n}i^k[i\in P||R(i)>p_j]\] 那么转移: 如果当前 \(p_j^2>n\) ,因为最小的含有 \(p_j\) 的合数是 \(p_j^2\) ,所以没有贡献需要减掉。 那么: \[g(n,j)=g(n,j-1)\] 如果当前 \(p_j^2<=n\) ,这个时候要减掉一些贡献了。 这些贡献是 \(p_j\) 所带来的,而这个时候左右 \(R(i)=p_j\) 的贡献都需要被减掉。 考虑求出这部分的贡献。 那么显然是对于其所能达到的最小的合数开始计算到所能达到的最大合数。 这一部分显然是属于 \([p_j^2,n]\) 。 那么考虑这一部分的贡献。 可以容易的得到转移方程。 \[g(n,j)=g(n,j-1

[noi.ac] #31 最小生成树

你。 提交于 2020-02-15 23:51:45
问题描述 小 \(D\) 最近学习了最小生成树的有关知识。为了更好地学习求最小生成树的流程,他造了一张 \(n\) 个点的带权无向完全图(即任意两个不同的点之间均有且仅有一条无向边的图),并求出了这个图的最小生成树。 为了简单起见,小 \(D\) 造的无向图的边权为 \([1,\frac{n(n-1)}{2}]\) 之间的整数,且任意两条边的边权均不一样。 若干天后,小 \(D\) 突然发现自己不会求最小生成树了。于是他找出了当时求出的最小生成树,但是原图却怎么也找不到了。于是小 \(D\) 想要求出,有多少种可能的原图。但是小 \(D\) 连最小生成树都不会求了,自然也不会这个问题。请你帮帮他。 形式化地,你会得到 \(n-1\) 个递增的正整数 \(a_1,a_2,\cdots,a_{n-1}\) ,依次表示最小生成树上的边的边权。你要求出,有多少张 \(n\) 个点的带权无向完全图,满足: 每条边的边权为 \([1,\frac{n(n-1)}{2}]\) 之间的整数; 任意两条不同的边的边权也不同; 至少存在一种最小生成树,满足树上的边权按照从小到大的顺序排列即为 \(a_1,a_2,\cdots,a_{n-1}\) (事实上,可以证明任意一张无向图的任意两棵最小生成树上的边权集合相同)。 因为答案可能很大,所以你只要求出答案对 \(10^9+7=1,000,000,007\