标题:[讨论]]第十五期编程题目
只看楼主
jiangzw625
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2006-3-27
得分:0 

又改了点,还是budui???????????????
#include <stdio.h>

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

int CheckBitNum(unsigned int index,unsigned int* Rad,unsigned int* offSet)
{
unsigned int sum = 10,prevSum = 10,i = 1,rtn = 1,prevI;
while(sum<=index)
{
prevSum = sum;
sum+=9*i;
prevI = i;
i*=10;
rtn++;
}
*offSet = index - prevSum;
if(rtn == (rtn/2)*2)
{
*Rad = prevI+*offSet;
return 1;
}
else
{
*Rad = prevI/10+*offSet/10;
return 0;
}
}

int main()
{
unsigned int index,num,temp,Rad,offSet,rtn;
char buf[50];
while(scanf("%ud",&index) && index)
{
if(index > 9)
{
rtn = CheckBitNum(index,&Rad,&offSet);
num = Rad;
intToStr(num,buf);
if(rtn)
printf("%d%s\n",num,buf);
else
{
temp = offSet%10;
printf("%d%d%s\n",num,temp,buf);
}
}
else
printf("%d\n",index);
}
return 0;
}


马马乎乎
2007-05-20 12:57
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1026
专家分:177
注 册:2007-5-10
得分:0 
ZJU2000的CODE

//2007-05-20 00:36:49 Accepted 2000 C++ 00:00.00 400K
#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
double n;
while(scanf(\"%lf\",&n)!=EOF && n){
char buf[20];
int flag=1;
double k=ceil(log10(n/2+1));
double x=pow(10.0,k-1)+n-2*(pow(10.0,k-1)-1)-1;
if(x>(pow(10.0,k)-1)){
x-=9*pow(10,k-1);
flag=0;
}
sprintf(buf,\"%.0lf\",x);
printf(\"%s\",buf);
for(int i=strlen(buf)-1-flag;i>=0;i--){
putchar(buf[i]);
}
putchar('\n');
}
}

2007-05-20 14:27
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1026
专家分:177
注 册:2007-5-10
得分:0 
回复:(crackerwang)[讨论]]第十五期编程题目

ZJU2777的CODE


#include <iostream>
using namespace std;

int array[1001][1001];
int c[1001];

int main()
{
//init
//筛选法
int p,q;
for(p=1;p<=1000;p++){
for(q=1;q<=1000;q++){
array[p][q]=1;
}
}
int cnt(0);
for(p=1;p<=1000;p++){
for(q=1;q<p;q++){
if(array[p][q]==1){
cnt++;
int t=2;
while(t*p<=1000 && t*q<=1000){
array[t*p][t*q]=0;
t++;
}
}
}
c[p]=cnt;
}
//

int N;
scanf(\"%d\",&N);
for(int i=1;i<=N;i++){
int n;
scanf(\"%d\",&n);
printf(\"%d %d %d\n\",i,n,2*c[n]+3);
}

}

2007-05-20 14:29
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
得分:0 
回复:(leeco)ZJU2000的CODE[code]//2007-05-20 00:...
2000我和你差不多.都是发现数列
回文的位数 1 2 3 4 5 6...
回文个数 9 9 90 90 900 900....
2777我比你好一点.我用的是f(n)=f(n-1)+n组数字判断互质

2007-05-20 21:24
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
得分:0 
这一期leeco 做的最好.两个都对了.按照规矩下一期由leeco出题
herbert_1987做的也不错,希望以后继续努力

nuciewth
负责给积分

2007-05-21 14:05
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
刚看 到.两位到非技术区开帖,偶来发钱.

倚天照海花无数,流水高山心自知。
2007-05-22 21:30
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
得分:0 
请问“到非技术区开帖”,是什么意思?

人生重要的不是所站的位置,而是所朝的方向
2007-05-23 00:20
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
得分:0 
我明白啦!

人生重要的不是所站的位置,而是所朝的方向
2007-05-23 00:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-140486-1-1.html




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

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