首 页科组简介下载中心文章中心客户留言论 坛博 客加入收藏
您当前的位置:惠州一中电教科组 -> 信息奥赛 -> 奥赛试题 -> 文章内容
 
栏目导航
热门文章
· 2007广东省普通高中..
· 2007广东省普通高中..
· [图文] 颠覆传统快捷..
· 第十一届全国青少年..
· 2006年广东省信息技..
· 2006年广东省信息技..
· 2006年广东省信息技..
· 2006年广东省信息技..
· [新闻] NOIP2006广东..
· [推荐] OIBH的NOIP模..
相关文章
第十一届全国青少年信息学奥林匹克联赛初赛试题普及组(C)
作者:佚名  来源:本站整理  发布时间:2006-11-2 21:26:24  发布人:yzriyang

减小字体 增大字体


四.完善程序(前4空,每空2分,后5空,每空4分,共28分)
1
.判断质数
题目描述:
给出一个正整数,判断这个数是否是质数。
输入:
一个正整数n(1 ≤ n ≤ 10000)
输出:
如果n是质数,输出”YES”;否则,输出”NO”
输入样例:
10
输出样例:
NO
程序:
#include <stdio.h>
int main() {
int ① ;
scanf("%d", &n);
if (n == 2) puts( ② );
else if ( ③ || n % 2 == 0) puts("NO");
else {
i = 3;
while (i * i <= n) {
if ( ④ ) {
puts("NO"); return 0;
}
i = i + 2;
}
puts("YES");
}
return 0;
}
2
.木材加工
题目描述:
木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小
段的数目是给定的。当然,我们希望得到的小段越长越好,你的任务是计算能够得到的小段
木头的最大长度。
木头长度的单位是cm。原木的长度都是正整数,我们要求切割得到的小段木头的长度
也是正整数。
输入:
第一行是两个正整数N和K(1 ≤ N ≤ 10000,1 ≤ K ≤ 10000),N是原木的数目,
K
是需要得到的小段的数目。
接下来的N行,每行有一个1到10000之间的正整数,表示一根原木的长度。
输出:
输出能够切割得到的小段的最大长度。如果连1cm长的小段都切不出来,输出”0”
输入样例:
3 7
232
124
456
输出样例:
114
程序:
#include <stdio.h>
int n, k, len[10000];
int isok(int t) {
int num = 0, i;
for (i = 0; i < n; i++) {
if (num >= k) break;
num = ① ;
}
if ( ② ) return 1;
else return 0;
}
int main() {
int i, left, right, mid;
scanf("%d%d", &n, &k);
right = 0;
for (i = 0; i < n; i++) {
scanf("%d", &(len));
if (right < len) right = len;
}
right++;
③ ;
while ( ④ < right) {
mid = (left + right) / 2;
if ( ⑤ ) right = mid;
else left = mid;
}
printf ("%d\n", left);
return 0;
}

上一页  [1] [2] [3] [4] 

] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]

 
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登录
Copyright © 2002-2006 dj.hzyz.net. All Rights Reserved .2006