|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 大家来做一做这道题_求多种算法
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1311
人关注过本帖,
1
人收藏
标题:
大家来做一做这道题_求多种算法
只看楼主
加入收藏
qhscqb
等 级:
新手上路
威 望:
1
帖 子:343
专家分:0
注 册:2007-2-3
结帖率:
0
楼主
收藏
(1)
问题点数:0 回复次数:10
大家来做一做这道题_求多种算法
编程实现:
1+11+111+1111+11111+...+111111111=?
.....
9+99+999+9999+99999+...+999999999=?
搜索更多相关主题的帖子:
算法
2008-05-05 10:30
举报帖子
使用道具
赠送鲜花
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
2
楼
收藏
得分:0
大数加我转化为字符做了,用了汇编的进位的思想
#include<cstdio>
int main(void)
{
char c[10][100]={'0'};
char ch[100];
int sum=0;
int inc=0;
for(int i=0;i<10;i++)
{
for(int j=9-i;j>=0;j--)
{
c[i][j]='9';
}
for( j=i;j>0;j--)
{
c[i][10-j]='0';
}
printf("%s\n",c[i]);
}
printf("\n");
for(i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
sum+=(c[j][i]-'0');
}
sum=sum+inc;
inc=0;
ch[i]=(sum%10)+'0';
inc=sum/10;
sum=0;
if(i==9)
{
while((inc>0)&&(ch[++i]=inc%10+'0'))
{
inc=inc/10;
};
ch[++i]='\0';
}
}
puts(ch);
return 0;
[[it] 本帖最后由 sunkaidong 于 2008-5-5 11:26 编辑 [/it]]
学习需要安静。。海盗要重新来过。。
2008-05-05 11:22
举报帖子
使用道具
赠送鲜花
qhscqb
等 级:
新手上路
威 望:
1
帖 子:343
专家分:0
注 册:2007-2-3
第
3
楼
收藏
得分:0
这个比较简单_我的算法
void main()
{
int i,j;
long s=0,p=0;
for (i=1;i<=9;i++)
{
for (j=1;j<=9;j++)
{
s=s*10+i;
p+=s;
if (j==9)
printf("%ld=",s);
else
printf("%ld+",s);
}
printf("%ld\n\n",p);
s=0;p=0;
}
}
编程快乐,快乐编程! 没有最好,只有更好!
2008-05-05 11:39
举报帖子
使用道具
赠送鲜花
雨中飛燕
等 级:
新手上路
帖 子:765
专家分:0
注 册:2007-10-13
第
4
楼
收藏
得分:0
楼上是这个意思啊,那可以省下8*N次循环了
" border="0" />[color=white]
2008-05-05 11:42
举报帖子
使用道具
赠送鲜花
qhscqb
等 级:
新手上路
威 望:
1
帖 子:343
专家分:0
注 册:2007-2-3
第
5
楼
收藏
得分:0
佩服楼主有才
[bo]以下是引用 [un]sunkaidong[/un] 在 2008-5-5 11:22 的发言:[/bo]
#include
int main(void)
{
char c[10][100]={'0'};
char ch[100];
int sum=0;
int inc=0;
for(int i=0;i=0;j--)
{
c[j]='9';
}
for( j=i;j>0;j--)
{
c[10-j]='0';
}
...
楼主的想法与算法实在叫人佩服,努力学习中...
编程快乐,快乐编程! 没有最好,只有更好!
2008-05-05 11:45
举报帖子
使用道具
赠送鲜花
雨中飛燕
等 级:
新手上路
帖 子:765
专家分:0
注 册:2007-10-13
第
6
楼
收藏
得分:0
/********************************************************
** Highlight software by yzfy(雨中飞燕) http:// *
*********************************************************/
#include
<stdio.h>
void
pt
(
int
n)
{
char
* str=
"1+11+111+1111+11111+...+111111111="
;
for
(; *str; ++str)
{
if
(*str==
'1'
)
putchar
(n+
'0'
);
else
putchar
(*str);
}
}
int
main
()
{
int
i,j;
long
p=
0
,s=
0
;
//TC in dos???
for
(j=
1
;j<=
9
;j++)
{
s=s*
10
+
1
;
p+=s;
}
for
(i=
1
;i<=
9
;++i)
{
pt
(i);
printf
(
"%ld\n"
,p*i);
}
return
0
;
}
" border="0" />[color=white]
收到的鲜花
死了都要C
于
2008-05-05 12:47
送鲜花
8朵 附言:安逸哦```
2008-05-05 11:54
举报帖子
使用道具
赠送鲜花
qhscqb
等 级:
新手上路
威 望:
1
帖 子:343
专家分:0
注 册:2007-2-3
第
7
楼
收藏
得分:0
指针算法,妙!
飞燕的想法太精妙了,晚生佩服!
编程快乐,快乐编程! 没有最好,只有更好!
2008-05-05 11:59
举报帖子
使用道具
赠送鲜花
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
8
楼
收藏
得分:0
燕子算法很不错...有点看到灯塔那个题目得味道.....呵呵,如果超出long int的范围,就还要回归到最基本的加法做了
[[it] 本帖最后由 sunkaidong 于 2008-5-5 12:15 编辑 [/it]]
学习需要安静。。海盗要重新来过。。
2008-05-05 12:13
举报帖子
使用道具
赠送鲜花
c_acceleration
等 级:
新手上路
帖 子:101
专家分:0
注 册:2008-4-28
第
9
楼
收藏
得分:0
我觉得不怎么样,如果考虑到机器的实现,不一定快于原版
你们继续,算法是不错的,呵呵。。
[[it] 本帖最后由 c_acceleration 于 2008-5-5 12:26 编辑 [/it]]
天道酬勤
2008-05-05 12:16
举报帖子
使用道具
赠送鲜花
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
10
楼
收藏
得分:0
燕子我封装你的代码..纯粹是觉得好玩...呵呵
#include <cstdio>
#ifndef PLUS_CLASS
#define PLUS_CLASS
class plus
{
public:
static void init();
void pt(int n);
private:
static
long p;
static
long s;
};
long plus::p=0;
long plus::s=0;
void plus::init()
{
for (int j=1;j<=9;j++)
{
s=s*10+1;
p+=s;
}
}
void plus::pt(int n)
{
char* str="1+11+111+1111+11111+...+111111111=";
for(; *str; ++str)
{
if(*str=='1')putchar(n+'0');
else putchar(*str);
}
printf("%ld\n",p*n);
}
#endif
int main()
{
plus p;
plus::init();
for(int i=1;i<=9;++i)
{
p.pt(i);
}
return 0;
}
[[it] 本帖最后由 sunkaidong 于 2008-5-5 13:35 编辑 [/it]]
学习需要安静。。海盗要重新来过。。
2008-05-05 13:18
举报帖子
使用道具
赠送鲜花
11
1/2页
1
2
快速回复:
大家来做一做这道题_求多种算法
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029987 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved