| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2146 人关注过本帖
标题:[讨论]]第十五期编程题目
只看楼主 加入收藏
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
我提示一下.
既然是回文所以只要记录一半就可以了

2007-05-19 08:36
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
都是ZJU的题目嘛,第一道好像是找规律推个公式,没做过。第二道我用筛的,过的
2007-05-19 22:32
jiangzw625
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2006-3-27
收藏
得分:0 

对。11楼说的对。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void Reverse(char* buf)
{
int i,len = strlen(buf);
char ch;
for(i = 0;i<len/2;i++)
{
ch = buf[i];
buf[i] = buf[len-i-1];
buf[len-i-1] = ch;
}
}

int main()
{
int index,num,temp;
char buf[50];
while(scanf("%d",&index) && index)
{
if(index > 108)
{
num = index-99;
_itoa(num,buf,10);
Reverse(buf);
printf("%d%s\n",num,buf);
}
else
{
if(index<10)
printf("%d\n",index);
else if(index<19)
printf("%d%d\n",index-9,index-9);
else
{
index-=19;
num = index/10+1;
temp = index%10;
printf("%d%d%d\n",num,temp,num);
}
}
}
return 0;
}

[此贴子已经被作者于2007-5-20 9:13:29编辑过]


马马乎乎
2007-05-19 23:00
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 

2000我纯推数学公式过了……,连我自己都感到赞叹

2007-05-20 00:57
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
回复:(leeco)2000我纯推数学公式过了……,连我自己...
你推出的数学公式是什么?

你说出来让大家一起来学习一下

2007-05-20 09:25
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
以下是引用jiangzw625在2007-5-19 23:00:43的发言:

对。11楼说的对。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void Reverse(char* buf)
{
int i,len = strlen(buf);
char ch;
for(i = 0;i<len/2;i++)
{
ch = buf[i];
buf[i] = buf[len-i-1];
buf[len-i-1] = ch;
}
}

int main()
{
int index,num,temp;
char buf[50];
while(scanf("%d",&index) && index)
{
if(index > 108)
{
num = index-99;
_itoa(num,buf,10);
Reverse(buf);
printf("%d%s\n",num,buf);
}
else
{
if(index<10)
printf("%d\n",index);
else if(index<19)
printf("%d%d\n",index-9,index-9);
else
{
index-=19;
num = index/10+1;
temp = index%10;
printf("%d%d%d\n",num,temp,num);
}
}
}
return 0;
}


答案不正确.样例输出都没有对.思路不对.不知道你是不是把题目看错了


2007-05-20 09:30
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 

过了的 也把自己的贴出来让大家学习一下


2007-05-20 09:31
jiangzw625
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2006-3-27
收藏
得分:0 

我没有看错题阿
因为我是用vc写的,itoa不是c标准所以出错,所以我改了,可又出来,Wrong Answer
我现在还不知哪错了呢。奇怪
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void intToStr(int num,char* buf)
{
int i,k = 0;
while(num>0)
{
i = num%10;
num/=10;
buf[k++] = i+48;
}
buf[k] = '\0';
}


int main()
{
int index,num,temp;
char buf[50];
while(scanf("%d",&index) && index!=0)
{
if(index > 108)
{
num = index-99;
intToStr(num,buf);
printf("%d%s\n",num,buf);
}
else
{
if(index<10)
printf("%d\n",index);
else if(index<19)
printf("%d%d\n",index-9,index-9);
else
{
index-=19;
num = index/10+1;
temp = index%10;
printf("%d%d%d\n",num,temp,num);
}
}
}
return 0;
}


马马乎乎
2007-05-20 11:04
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
你输入231的时候似乎不对

2007-05-20 11:08
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
哗!竟然有如此高手,能用数学公式推出来。

人生重要的不是所站的位置,而是所朝的方向
2007-05-20 11:43
快速回复:[讨论]]第十五期编程题目
数据加载中...
 
   



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

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