摘要: #include<stdio.h>int main(){int a,b,c,i,n;double d;char e;while(scanf("%d",&n)!=EOF){getchar();for(i=1;i<=n;i++){d=0;scanf("%c %d %d",&e,&a,&b);getchar();//必须吸收掉换行符,像下面这样是不行的,第一个字符会被认为是erter/*scanf("%d\n",&icase);for (i=0;i<icase;i++){ sc 阅读全文
posted @ 2012-04-17 10:59 加拿大小哥哥 阅读(309) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>int main(){ int n,m,k,z,i,j,x,ans; scanf("%d",&k); for (i=1;i<=k;i++) { if (i>1) printf("\n"); x=1;//大的输出块间有空行 while (scanf("%d%d",&n,&m)) { if (n==0&&m==0) break; printf("Case %d: ",x); x++; ans=0; for (j=1;j&l 阅读全文
posted @ 2012-04-17 09:43 加拿大小哥哥 阅读(253) 评论(0) 推荐(0) 编辑
摘要: #include#includeint prime(int n){int i;for(i=2;i<=sqrt(n);i++){if(n%i==0)return 0;}return 1;}int str[21];int n;int i,totle=0;int shuzi[21];int prime1[... 阅读全文
posted @ 2012-04-17 09:06 加拿大小哥哥 阅读(328) 评论(0) 推荐(1) 编辑
摘要: 求子数组绝对值的和的最小值动归#include<stdio.h>#include<stdlib.h>#define N 1001unsigned long int a[N], f[N];unsigned long int n;unsigned long int Abs(unsigned long int x){ return x>0?x:-x;}unsigned long int dp(){ /*if (|f(x)+a(x+1)|<|a(x+1)|)f(x+1) = f(x)+a(x+1)else f(x+1) = a(x+1)最后求出min(|f(0)|. 阅读全文
posted @ 2012-04-15 20:25 加拿大小哥哥 阅读(233) 评论(0) 推荐(1) 编辑
摘要: 5个数求最值时间限制:1000 ms | 内存限制:65535 KB难度:1描述设计一个从5个整数中取最小数和最大数的程序输入输入只有一组测试数据,为五个不大于1万的正整数输出输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。样例输入1 2 3 4 5样例输出1 5//不排序,只是不断更新#include<stdio.h>#include<stdlib.h>int main(){int min=10001;int max=0;int i,j,n;unsigned int a;for(i=0;i<5;i++){scanf(&qu 阅读全文
posted @ 2012-04-14 22:56 加拿大小哥哥 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 众数问题时间限制:3000 ms | 内存限制:65535 KB难度:3 描述所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重 数,多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3 。现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。 输入第一行为n,表示测试数据组数。(n<30)每组测试的第一行是一个整数m,表示多重集S中元素的个数为m接下来的一行中给出m(m<100)个不大于10万的自然数(不会出现不同元素出现的次数相同的情况,如:S={11,11, 阅读全文
posted @ 2012-04-14 17:42 加拿大小哥哥 阅读(269) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>double mysqrt(double a,double x0){ double x1; x1=(x0+a/x0)/2.0; if(fabs(x1-x0)>0.0000000000001) return mysqrt(a,x1);//第一个参数为始终是a,2x1=x0+x0/2,当x0和x1近似相等时,x1*x1=a,所以参数a固定,返回x1 else return x1;}int main(){ double x; scanf("%lf",&x); printf("The sqrt of %f=%f 阅读全文
posted @ 2012-04-14 13:39 加拿大小哥哥 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 孪生素数问题时间限制:3000 ms | 内存限制:65535 KB难度:2描述写一个程序,找出给出素数范围内的所有孪生素数的组数。一般来说,孪生素数就是指两个素数距离 为2,近的不能再近的相邻素数。有些童鞋一看到题就开始写程序,不仔细看题,咱们为了遏制一下读 题不认真仔细的童鞋,规定,两个素数相邻为1的也成为孪生素数。输入第一行给出N(0<N<100)表示测试数据组数。接下来组测试数据给出m,表示找出m之前的所有孪生素数。(0<m<1000000)输出每组测试数据输出占一行,该行为m范围内所有孪生素数组数。样例输入114样例输出4//筛法求孪生素数#include&l 阅读全文
posted @ 2012-04-14 13:33 加拿大小哥哥 阅读(395) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>#include <string.h>int main(){char word[100];int ok=0;scanf("%s",word);int l=strlen(word);for (int i=1; i<=l; ++i)//周期必是1到l,若为1,即是常数串{if (l%i==0)//最小周期必是长度的约数{int ok=1;for (int j=i; j<l; ++j){if (word[j%i]!=word[j])//个人认为j-//word[j]为第二周期的第一个字符,word[j%i]是 阅读全文
posted @ 2012-04-13 18:06 加拿大小哥哥 阅读(857) 评论(0) 推荐(0) 编辑
摘要: 1.函数原型 void *memcpy(void *dest, const void *src, int n);编辑本段功能 由src指向地址为起始地址的连续n个字节的数据复制到以dest指向地址为起始地址的空间内。所需头文件 #include <string.h>编辑本段返回值 函数返回一个指向dest的指针。说明 1.source和destin所指内存区域不能重叠,函数返回指向destin的指针。 2.与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节。 3.如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有 阅读全文
posted @ 2012-04-13 13:39 加拿大小哥哥 阅读(3215) 评论(0) 推荐(1) 编辑