求大神写个python写一个求和函数!

求大神帮忙写个程序!【python吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:188,508贴子:
求大神帮忙写个程序!收藏
已知一个由纯数字(顺序由小按大排序)元素组成的列表,比如li=[1,2,3,4,5,7,8,15,20,21,22,23,24,28]写一个函数,让它返回如下的字符串str='1~5,7~8,15,20~24,28'若数字连续,中间部分用
python_总监级名师全程面授,项目实战案例式教学,企业需求无缝对接,助你无忧就业!python,0基础21周快速实现高薪就业,0元试听两周.名额有限,欲报从速.点击抢座
看着很复杂啊!
def sb(li): return '1~5,7~8,15,20~24,28'
# -*- coding: cp936 -*-li=[1,2,3,4,5,7,8,15,20,21,22,23,24,26,27,28,31]s1=''s2=''for i in range(len(li)):
if i==0: #第一个值,只是赋值
s1=str(li[i])
if li[i]==li[i-1]+1:
s2=str(li[i])
if s2=='':
print s1,'~',s2
s1=str(li[i])
s2=''
if i==len(li)-1: #最后一个值,必须直接判断打印
if s2=='':
print s1,'~',s2
程序输出结果是1 ~ 57 ~ 81520 ~ 2426 ~ 2831你再改改就好了
算了,给你最终的
如果li=〔1,4,5,6,7〕第一个数字是不连续的,应该只是1,但是上面程序会是1~
python入门,博为峰IT培训免费试听,0元入学,现在更有多重优惠,仅限今天!博为峰,真正的为年轻人服务的企业,14年间培训15万余名it工程师,成绩斐然!
我的思路是线性时间复杂度,我只遍列表一次,就解决了问题;对方:首先用len函,遍历列表第一次,再用for遍历列表第二次,然后for下又有一个len,每迭代一个元素都会遍历一次列表计算个数,这里就是O(n^2)总共遍历列表n*n+n*2次(n是列表的元素个数)
参照以上各楼代码,修改如下:
如果需要字符串,可以这样修改:
1.《300python课程视频教学》附带两节课外课程:&如何提升学习能力&、&以《弟子规》为主纲的职场课& 也就是说300python课程不仅教你如何编程、还教你如何做人做事,在职场上如何才能平步青云!群共享文件里有大量的 [本人亲自实拍视频讲解] 和 [带详细注释的备课教材.py文件]学费仅300元,欢迎加入!竭诚为你讲解,随时接受学员提问!不限期,跨年度!2015年新推出“视频讲解习题”的教学方式,让你在乐趣中积累python编程经验和知识授课方式:视频录制、即拍即播形式+QQ语音+及时消息实例讲解+带详细注释的群共享备课教材文件授课内容:面向对象编程之“class类”、event事件监听/GUI之Tkinter教学/编程思路/函数式编程/lambda嵌套递归/一行代码一个程序/闭包/yield/@修饰器/numpy/ matplotlib/数据处理/re正则匹配/多线程控制(如:线程锁互拆、线程暂停/继续)/django应用、聊天室搭建、模拟登陆(包括验证码提交处理、cookies处理)等; 2.提供 代做作业、解题、小项目等业务(含讲解) 、(50元~200元/题,按难度或代码量收费不等); (即拍 视频方式讲解)欢迎选购!服务质量三包。 (以上内容为for迭代循环回贴,若有打搅请删之)------------------------来自“幸福版-百度贴吧(客户端)1.5”------------------------
思路都不错!
登录百度帐号雷速体育发帖软件开发QQ千里之行 始于足下
欢迎加入我们,一同切磋技术 &
用户名: &&&
密 码: &
共有 750 人关注过本帖
标题:求大神 , 帮忙, 写一下, 注释,主要是 move()函数,,,因为move()函数
等 级:新手上路
&&已结贴√
&&问题点数:20&&回复次数:3&&&
求大神 , 帮忙, 写一下, 注释,主要是 move()函数,,,因为move()函数 我看不懂
// 题意&&:n个整数&&使前面各数&&&顺序向后移m个位置,最后m个数变成最前面m个数&&&
//12 43&&65 67&&8 2 7 11 --------&&&8 2 7 11 12 43 65 67
#include &stdio.h&
int main()
&&& void move(int [20],int,int);
&&& int number[20],n,m,i;
&&& printf(&how many numbers?&);
&&& scanf(&%d&,&n);
&&& printf(&input %d numbers: \n&,n);
&&& for( i=0;i&n;i++)
&&&&&&&&scanf(&%d&,&number[i]);
&&& printf(&how many place you want move? &);
&&& scanf(&%d&,&m);
&&& move(number,n,m);
&&& printf(&NOW,they are:\n&);
&&& for( i=0;i&n;i++)
&&&&&&&&printf(&%d &,number[i]);
&&& printf(&\n&);
&&& return 0;
void move(int array[20],int n,int m)&&&
&&& int *p,array_
&&& array_end = *(array+n-1);&&&&&&
&&& for( p = array+n-1;p&p--)
&&&&&&&&*p = *(p-1);&&&&&&&&&&&&&&&&&
&&& *array =&&array_&&&&&&&&&&&
&&& if(m&0) move(array,n,m);
等 级:论坛游侠
帖 子:20
专家分:148
&&得分:10&
程序代码:
// 主要思路:通过递归函数完成函数的移动
void move(int array[<font color=#],int n,int m)&&&
&&& int *p,array_
&&& // 保存数组最后一个元素
&&& array_end = *(array+n-<font color=#);
&&& // 将数组元素依次向后移动一个位置&&
&&& for (p = array+n-<font color=#; p & p--)
&&&&&&&&*p = *(p-<font color=#);&&&&&&&&&&&&&&&&&
&&& // 将最后一个元素放在数组首位
&&& *array =&&array_
&&& // 判断是否还有移动的元素
&&& if (m&<font color=#)
&&&&&&&&//调用递归进行下一个元素移动
&&&&&&&&move(array,n,m);
来 自:流浪在天国之路
等 级:蜘蛛侠
帖 子:317
专家分:1437
&&得分:10&
void move(int array[20],int n,int m)&&&
&&& int *p,array_
&&& array_end = *(array+n-1);&&&&&&
&&& for( p = array+n-1;p&p--)
&&&&&&&&*p = *(p-1);&&&&&&&&&&&&&&&&&
&&& *array =&&array_&&&&&&&&&&&
&&& if(m&0) move(array,n,m);
p指针和array指向了同一个地址.
for循环中,把P的元素用前一位替换后一位。
循环出来后,中间变量array_end的值,给array首地址。
这样,最后一位就移到第一位,后面六位就向后移了一位。
如此递归调用自己。
这样说可能不清楚。举个例子:
how many numbers?&&
input %d numbers:
how many place you want move?
第一次调用move函数
array_end = *(array+n-1);&&& // *(array+n-1)值为27&&array_end =27
&for( p = array+n-1;p&p--)&&//p = array+n-1&&p和array指向了同一个地址
&&&&&&&&*p = *(p-1);&&&&&&&&&&&&&&&//把前面一位的值替换掉
循环出来之后的顺序为:
22 22 23 24 25 26
&*array =&&array_&&& //把中间变量array_end最后一位元素的值给array首地址的值。这样,首地址的值 就变了。
array的元素就变为:27 22 23 24 25 26
m--;&&//m递减一次,用于下面的递归调用。。
if(m&0) move(array,n,m);//继续递归调用
第二次调用:
array_end=26
p循环出来之后就是
27 27 22 23 24 25
*array =&&array_
这时array元素值就是
26 27 22 23 24 25
m再递减一次,因为m大于0继续递归。。
反复以上操作。。。
普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
等 级:新手上路
谢谢&&大家
版权所有,并保留所有权利。
Powered by , Processed in 0.042602 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved求大神帮写主函数,我是菜鸟【c++吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:304,059贴子:
求大神帮写主函数,我是菜鸟收藏
#include &stdio.h& #include &stdlib.h& #define
//定义待转换的进制(2~8) typedef
STACK_INIT_SIZE
10 // P46说明 #define STACK_INCREMENT
2 // P46说明 struct
//顺序栈,全局结构体类型 {
SElemType *
SElemType * // P46说明
SElemType * // P46说明// P46说明 }; void InitStack(SqStack &S){S.elem=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!S.elem)
exit(0); // 存储分配失败
S.length=0;
// 空表长度为0
S.listsize=STACK_INIT_SIZE;
// 初始存储容量,10} Status StackEmpty(SqStack S) {
if(S.length==0)
return 0; } void Push(SqStack &S,SElemType e) { if(S.top-S.base&=S.stacksize) { S.base=(SElemType*)realloc (S.base,(S.stacksize+STACK_INCREMENT)*sizeof(SElemType)); if(!S.base)exit(0); S.top=S.base+S. S.stacksize+=STACK_INCREMENT; } *S.top++=e; }Status Pop(SqStack &S,SElemType &e){if(S.top==S.base)return 0;e=*--S.return (1);}void conversion( )
/// / 待转换十进制数
InitStack(s);
printf(&\n请输入一个非负的十进制整数n:(&=0)&);
scanf(&%u&,&n);
Push(s,n%8);
while(!StackEmpty(s)){
Pop(s,e);printf(&%d&,e);
// …….//以下补充完善程序,用Push()和Pop()函数进行进制转换。}void main( ){ void _
// …….//调用转换函数}
c++,博为峰软件培训免费试听,0元入学,签署就业保障协议,不就业不收费!博为峰,真正的为年轻人服务的企业,14年间培训15万余名软件工程师,成绩斐然!
登录百度帐号求大神!如何编写一个关于圆形的C++程序?
编写一个关于圆形的C++程序。要求用定义一个圆形类Circle,其中包含如下成员:1)
1个私有数据成员(半径)。2)
3个公有函数成员(设置半径、计算面积、计算周长)。3)
3个构造函数(不带参数的构造函数、带参数的构造函数和拷贝构造函数)。主函数main使用圆形类Circle创建圆形对象,要求:1)
定义一个圆对象c1,从键盘输入一个值x并将其设定为c1的半径,计算并显示c1的面积和周长2)
再定义一个圆对象c2,并将半径初始化为2x,计算并显示c2的面积和周长3)
再定义一个圆对象c3,并用c1初始化c3,计算并显示c3的面积和周长
浏览 939回答 1
#include &iostream&
#include &cstdio&
class circle{
void setRadius(double radius){
this-&radius =
double area(){
return 3.14*radius*
double zhouchang(){
return 2*3.14*
double getRadius(){
circle(){}
circle(double radius){
this-&radius =
circle(circle &c){
this-&radius = c.getRadius();
int main(){
circle c1;
c1.setRadius(radius);
cout && c1.area() &&
cout && c1.zhouchang() &&
circle c2(2*radius);
cout && c2.area() &&
cout && c2.zhouchang() &&
circle c3(c1);
cout && c3.area() &&
cout && c3.zhouchang() &&
随时随地看视频09:44 提问
C编程题考题请教大神帮忙解答,非常感谢
求大侠帮忙:C语言程序设计---编程题(以下所有题目程序应是非递归的)
程序实现任意两个字符串s1、s2的比较。要求:
字符串的比较写一函数sub()实现,不得调用标准库函数
在主函数中完成数据的输入与结果的输出。
如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)和等于A,则将整数A和B称为亲密数对。编程求5000以内的全部亲密数对。
程序实现将无序整数数组压缩成有序数组,即去掉数组中重复出现的元素,并将不重复的元素按从小到大的顺序存放于数组前K个元素中,其中K是原数组中互不相等的元素个数。例如:
原数组:4 2 7 10 4 7 1 6 2
压缩后:1 2 4 6 7 10 (k=6)
要求:本题在原数组上进行压缩和排序,不得引进另一个数组。
4._ 已知C:\book\bk_list.dat文件中存有多种图书信息,每种图书信息包含二个内容:书名和库存量。请编程通过检查全部库存量,在C盘boo_k目录下建立一个新的文件:bk_re.dat,它包括所有库存量小于30的图书名称和库存量,并在屏幕上显示所有库存量小于30的图书名称和库存量。要求:
编写一个函数实现检查库存量,建立新文件bk_re.
在主函数输出结果
编程实现将一个带头结点的整数链表分成一个奇数链表和一个偶数链表。要求:
利用原链表中的结点空间作为这二个链表的结点空间,表头结点可以开辟新的空间
结点的数据域只有一个整数域
单链表的建立写一函数create()实现
构造奇数和偶数链表的过程写一函数sub实现
输出结果写一函数output实现
主函数调用这三个函数完成程序功能
按赞数排序
怎么没人回答呢?求大神帮忙解答呵,
这也太懒了吧…这些你自己先写写不是更好?大神才不会管这种题、好吧…
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐}

我要回帖

更多关于 写一个判素数的函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信