输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数。输入零时,表示数据输入结束。要求最后统计出累加的项数。
找最值 题目内容: 从键盘任意输入6个整数,用指针变量作函数参数编程计算最大值和最小值,并返回它们所在数组中的位置。函数原型如下所示: int FindMax(int num[], int n, int *pMaxPos);//函数返回最大值,pMaxPos返回最大值所在的下标 int FindMin(int num[], int n, int *pMinPos);//函数返回最小值,pMaxPos返回最小值所在的下标 程序运行结果示例: Input 10 numbers: -1 2 3 45 92 8 9 ↙ Max=92,Position=4,Min=-1,Position=0 输入格式: "%d" 输出格式: 提示信息:"Input 6 numbers:\n" 输出结果:"Max=%d,Position=%d,Min=%d,Position=%d\n"
编程产生输入三个0~100之间(包含0和100)的随机数a、b和c,要求实现 (1)至少使用两种不同的方法,将三个数字按从小到大的顺序排序。 (2)计算输出三个数的和与平均值。 输出效果如下(其中a、b和c的值随机生成): 原始值: a=97, b=89, c=99 (方法一)升序值: a=89, b=97, c=99 (方法二)升序值: a=89, b=97, c=99 三个数值的和=285 ,平均值= 95 提示: (1)可使用比值法或求最大最小值函数等多种方法 (2)随机数生成可以使用 import random random.randint(0,100) 来生成0~100之间的随机整数。
大兵瑞恩被关押在迷宫的东南角,即(N,M)单元里,并已经昏迷.迷宫只有一个入口,在西北角.也就是说,麦克可以直接进入(1,1)单元.另外,麦克从一个单元移动到另一个相邻单元的时间为1,拿取所在单元钥匙的时间及用钥匙开门的时间可忽略不计.
算法设计:试设计一个算法,帮助麦克以最快的方式到达瑞恩所在单元,营救大兵瑞恩.
数据输入:由文件input.txt提供输入数据.第1行有3个整数,分别表示N、M、P的值.第2行是1个整数K,表示迷宫中门和墙的总数.第1+2行(1≤I≤K),有5个整数,依次为Xi1、Yi1、Xi2、Yi2、Gi:
当Gi≥1时,表示(Xi1,Yi1)单元与(Xi2,Yi2)单元之间有一扇第Gi类的门;当Gi=0时,表示(Xi1,Yi1)单元与(Xi2,Yi2)单元之间一堵不可逾越的墙(其中,|Xi1-X2|+Yi1-Yi2|=1,0≤Gi≤P).
第K+3行是一个整数S,表示迷宫中存放的钥匙总数.
第K+3+J行(1≤J≤S)有3个整数,依次为Xi1、Yi1、Qi;表示第J把钥匙存放在(Xi1、Yi1)单元里,并且第J把钥匙是用来开启第Qi类门的(其中1≤Qi≤P).
输入数据中同一行各相邻整数之间用一个空格分隔.
结果输出:将麦克营救到大兵瑞恩的最短时间值输出到文件output.txt.如果问题无解,则输出-1.
A.接受用户输入的整数N,判断N是否是素数并输出结论
B.接受用户输入的整数N,判断N是否是水仙花数
C.接受用户输入的整数N,判断N是否是完数并输出结论
D.接受用户输入的整数N,输出N的阶乘值
算法设计:对于给定的n和k个加油站位置,计算最少加油次数.
数据输入:由文件input.tst给出输入数据.第1行有2个正整数n和k,表示汽车加满油后可行驶nkm,且旅途中有k个加油站.接下来的1行中有k+1个整数,表示第k个加油站与第k-1个加油站之间的距离.第0个加油站表示出发地,汽车已加满油.第k+1个加油站表示目的地.
结果输出:将计算的最少加油次数输出到文件output.txt.如果无法到达目的地,则输出“NoSolution",
问题描述:设p是奇素数,1≤x≤p-1,如果存在一个整数y(1≤y≤p-1),使得x=y2(modp),则称y是x的模p平方根.例如,63是55的模103平方根.试设计一个求整数x的模p平方根的拉斯维加斯算法.算法的计算时间应为logp的多项式.
算法设计:设计一个拉斯维加斯算法,对于给定的奇素数p和整数x,计算x的模p平方根.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数p和x.
结果输出:将计算的x的模p平方根输出到文件output.txt.当不存在x的模p平方根时,输出0.
问题描述:关于整数的二元圈乘运算定义为
(XY)=十进制整数X的各位数字之和x十进制整数Y的最大数字+Y的最小数字
例如,(930)=9*3+0=27.
对于给定的十进制整数X和K,由X和运算可以组成各种不同的表达式.试设计一个算法,计算出由X和运算组成的值为K的表达式最少需用多少个运算.
算法设计:给定十进制整数X和K(1≤X,K≤1020),计算由X和 运算组成的值为K的表达式最少需用多少个运算.
数据输入:输入数据由文件名为input.txt的文本文件提供.每行有2个十进制整数X和K.最后一行是00.
结果输出:将找到的最少运算个数输出到文件output.txt.
算法设计:给定n个整数组成的序列,计算该序列的最优m段分割,使m段子序列的和的最大值达到最小.
数据输入:由文件input.txt提供输入数据.文件的第1行中有2个正整数n和m.正整数n是序列的长度:正整数m是分割的段数.接下来的一行中有n个整数.
结果输出:将计算结果输出到文件output.txt.文件的第1行中的数是计算出的m段子序列的和的最大值的最小值.
问题描述:给定一棵树T,树中每个顶点u都有权值w(u),可以是负数.现在要找到树T的一个连通子图使该子图的权值和最大.
算法设计:对于给定的树T,计算树T的最大连通分支.
数据输入:由文件input.txt给出输入数据.第1行有1个正整数n,表示树T有n个顶点.树T的顶点编号为1,2,...,n.第2行有n个整数,表示n个顶点的权值.接下来的n-1行中,每行有表示树T的一条边的2个整数u和v,表示顶点u与顶点v相连.
结果输出:将计算出的最大连通分支的权值输出到文件output.txt.
问题描述:给定一个自然数n,由n开始可以依次产生半数集set(n)中的数如下:
(1)n∈set(m);
(2)在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半:
(3)按此规则进行处理,直到不能再添加自然数为止.
例如,set(6)={6,16,26,126,36,136}.半数集set(6)中有6个元素.注意,该半数集是多重集.
算法设计:对于给定的自然数n,计算半数集set(n)中的元素个数.
数据输入:输入数据由文件名为input.txt的文本文件提供.每个文件只有一行,给出整数n(0<n<1000).
结果输出:将计算结果输出到文件output.txt.输出文件只有一行,给出半数集set(n)中的元素个数.