| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3137 人关注过本帖, 1 人收藏
标题:[讨论]第四期题目,大家做做.
只看楼主 加入收藏
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
我不是郭靖斑竹的程序,过了,效率和我的那个差不多.用时0.001S.
unicorn斑竹的因为有格式问题,没有测试,但看整个程序来说,算法还是对的.

倚天照海花无数,流水高山心自知。
2006-12-03 22:26
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
哦,对了.
这期的相对简单很多.上一期的比较难点,希望大家继续做第三期的,那期的也没什么人做.

倚天照海花无数,流水高山心自知。
2006-12-03 22:28
meiling01
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-11-2
收藏
得分:0 


第二题的程序:
#include<stdio.h>
#include<math.h>
int main()
{
int i,n;
printf("please input a number:\n");
scanf("%d",&n);
if(n<0||n>10000)
printf("error number,please input new number\n");
else
{ while(n%2!=0||n%5!=0)
{
for(i=1;i<100;i++)
{
if((int)(pow(2.0,i)-1)%n==0)
{printf("%d\n",i);
break;
}
}
break;
}
}

return 0;
}
我已经编译通过了,但不知版主所说的“效率”从哪里能看到阿?


即“Time limit: 1 Seconds Memory limit: 32768K
Total Submit: 2329 Accepted Submit: 763 ”
从哪里能看到阿?

[此贴子已经被作者于2006-12-4 10:15:08编辑过]

2006-12-04 10:12
meiling01
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-11-2
收藏
得分:0 
to:我不是郭靖版主:麻烦你讲解一下您的第二题的编程思路吧,我能够看懂,但却不懂深层次的原理,麻烦您能讲一下。谢谢!
2006-12-04 10:48
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用meiling01在2006-12-4 10:48:31的发言:
to:我不是郭靖版主:麻烦你讲解一下您的第二题的编程思路吧,我能够看懂,但却不懂深层次的原理,麻烦您能讲一下。谢谢!


2006-12-04 15:05
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用meiling01在2006-12-4 10:48:31的发言:
to:我不是郭靖版主:麻烦你讲解一下您的第二题的编程思路吧,我能够看懂,但却不懂深层次的原理,麻烦您能讲一下。谢谢!

只要理解(a*b)%c==(a%c*b)%c.就可以了.


倚天照海花无数,流水高山心自知。
2006-12-04 23:17
angeljune
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-11-16
收藏
得分:0 
我很笨啊,第二题题目是啥意思啊,
2006-12-05 00:31
meiling01
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-11-2
收藏
得分:0 
我不是郭靖版主的第二题的程序主要应用了,余数被除尽时即找到结果。所以每次都是取余后的循环。
2006-12-05 10:36
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用angeljune在2006-12-5 0:31:31的发言:
我很笨啊,第二题题目是啥意思啊,

/*给出一个不能被2和5整除的数,问这个数可以被最少的几个1组成的数整除*/
比如是3.当然是111(最少要3个1组成的数)可以整除3了.
再比如7.那就输出111111.(因为111111是由1组成数中可以整除7的最小数).

关于这个题目,想到一个理解方法就是小学的除法运算.
大家都知道,当不够位除时,后总补0除,我们这里当然也可以补1除了.这样得出的结果不就是由1组成的数了.


倚天照海花无数,流水高山心自知。
2006-12-05 13:31
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 

第二题提交之后出现了这个是什么意思啊?SIGSEGV
#include <stdio.h>
#include <string.h>
#define N 100
#define M 100

int main(void)
{
char str1[N], str2[M];
int i, n = 0, step1 = 0, step2 = 0;

while(scanf("%s", str1) != EOF)
{
scanf("%s", str2);
for(i = 0;i < strlen(str2);i ++)
{
if(str1[step1] == str2[step2])
{
n ++;
step1 ++;
step2 ++;
}
else
{
step2 ++;
}
}
if(n == strlen(str1))
{
printf("YES\n");
}
else
{
printf("NO\n");
}

}

return 0;

}


该学习了。。。
2006-12-05 14:57
快速回复:[讨论]第四期题目,大家做做.
数据加载中...
 
   



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

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