| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4854 人关注过本帖
标题:[讨论]第七次编程题目,大家支持一下
只看楼主 加入收藏
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
楼主,这是我写的,第一次参加讨论,从一发上来就开始想了
#include<stdio.h>
void puts(double );
#include<math.h>
void main()
{
int n;
scanf("%d",&n);
if(n==1)
printf(" ");
else
puts(n-1);

}
void puts(double n)
{
int i,k;
for(i=0;;i++)
{
if(pow(2,i)-1>=n)
break;
}
i--;
k=pow(3,i);
printf("%d ",k);
n=n-pow(2,i);
if(n>=1)
puts(n);
}
我测试了1,2,4,6,200,500;答案都是对的
第一个题目我不是很明白,我想用动态数组来解决多行的问题,但是我想题目不会这么简单吧

2007-03-10 20:18
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
最好不要使用递归,效率不高.

第一个其实很简单,不要想那么复杂,数组就可以的.只要达到题目的要求就行.

倚天照海花无数,流水高山心自知。
2007-03-10 20:27
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用crackerwang在2007-3-10 20:18:40的发言:
楼主,这是我写的,第一次参加讨论,从一发上来就开始想了
#include<stdio.h>
void puts(double );函数名冲突.
#include<math.h>
void main()
{
int n;
scanf("%d",&n);
if(n==1)
printf(" ");
else
puts(n-1);

}
void puts(double n)
{
int i,k;
for(i=0;;i++)
{
if(pow(2,i)-1>=n)
break;
}
i--;
k=pow(3,i);
printf("%d ",k);
n=n-pow(2,i);
if(n>=1)
puts(n);
}
我测试了1,2,4,6,200,500;答案都是对的
第一个题目我不是很明白,我想用动态数组来解决多行的问题,但是我想题目不会这么简单吧

算法没什么问题,应该是这样了.把数据范围加大一点.


倚天照海花无数,流水高山心自知。
2007-03-10 20:36
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
把里面的int换成long double够吗?

2007-03-10 20:43
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
#include "math.h"
int num=1;
int qu(int n)
{
int a=2,b=3,t;
num=1;
while((n-b)>(b-a))
{
t=b;b+=a;
a=t;num++;
}
return(b) ;
}
main()
{
int i,j,n,m;
scanf("%d",&n);
if(n==1) printf("{ }\n");
else if(n==2) printf("{1}\n");
else if(n==3) printf("{3}\n");
else
{
j=qu(n);m=pow(3,num);
printf("{%d",m);
for(i=n-j;i;i--)
{
m=pow(3,i-1);
printf(",%d",m);
}
printf("}");
}
getch();
}

[此贴子已经被作者于2007-3-13 17:09:33编辑过]


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-03-10 22:47
se7en_enter
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-5-11
收藏
得分:0 

#include "stdio.h"
#include "math.h"
main()
{
int point,number=0,check_num,i,times=0;
clrscr();
printf("please put in the number which you want to see---");
scanf("%d",&point);
point=point-1;
if(point==0)
{
printf("null\n");
}
else if(point<0)
{
printf("waring please put in num which BIGGER than 0");
}
else
{
while(point!=0)
{
check_num=0;times=0;
for(i=0;check_num<=point;i++)
{
check_num=pow(2,i);times=i;
}
check_num/=2; times=times-1;
number=pow(3,times);
printf(" %4d",number);
point=point-check_num;
}
}
getch();return(0);

}
写出来了,刚写的


年轻有年轻的冲动,成熟有成熟的魅力。莫让时间冲淡一切,要让一切充实时间
2007-03-11 10:12
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

根据我自己写的,给出一些随机测试数据.大家顺便帮忙检查一下,谢谢.
2345
{ 177147, 6561, 243, 27 }
23545
{ 4782969, 531441, 177147, 19683, 6561, 2187, 729, 243, 81, 27 }
9762
{ 1594323, 59049, 19683, 243, 1 }
12980
{ 1594323, 531441, 19683, 2187, 243, 81, 3, 1 }
123456
{ 43046721, 14348907, 4782969, 1594323, 19683, 243, 81, 27, 9, 3, 1 }
32417
{ 4782969, 1594323, 531441, 177147, 59049, 19683, 2187, 243 }
865273
{ 9 }
86527
{ 43046721, 4782969, 531441, 6561, 2187, 729, 243, 81, 27, 9, 3 }
34286
{ 14348907, 59049, 6561, 2187, 729, 243, 27, 9, 1 }
23
{ 81, 9, 3 }
41
{ 243, 27 }
78
{ 729, 27, 9, 1 }
852
{ 19683, 6561, 729, 81, 3, 1 }
135
{ 2187, 9, 3 }
97
{ 729, 243 }
2345
{ 177147, 6561, 243, 27 }
23545
{ 4782969, 531441, 177147, 19683, 6561, 2187, 729, 243, 81, 27 }
9762
{ 1594323, 59049, 19683, 243, 1 }
12980
{ 1594323, 531441, 19683, 2187, 243, 81, 3, 1 }
123456
{ 43046721, 14348907, 4782969, 1594323, 19683, 243, 81, 27, 9, 3, 1 }
32417
{ 4782969, 1594323, 531441, 177147, 59049, 19683, 2187, 243 }
86527
{ 43046721, 4782969, 531441, 6561, 2187, 729, 243, 81, 27, 9, 3 }
34286
{ 14348907, 59049, 6561, 2187, 729, 243, 27, 9, 1 }
23
{ 81, 9, 3 }
41
{ 243, 27 }
78
{ 729, 27, 9, 1 }
852
{ 19683, 6561, 729, 81, 3, 1 }
135
{ 2187, 9, 3 }
97
{ 729, 243 }
8
{ 9, 3, 1 }
500
{ 6561, 2187, 729, 243, 81, 3, 1 }
11
{ 27, 3 }
16
{ 27, 9, 3, 1 }




倚天照海花无数,流水高山心自知。
2007-03-11 11:05
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
我输出和斑竹的一样,怎么没有人做第一个啊?

2007-03-11 13:25
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
虽然你和我的算法和我一样,但是我觉得你比我写的好,你没有用递归

2007-03-11 13:39
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
回复:(se7en_enter)#include
虽然你的算法和我的一样,但是我觉得你比我写的好

2007-03-11 13:41
快速回复:[讨论]第七次编程题目,大家支持一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017520 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved