HDOJ100

目录

2005

2006

2007 

2008

2009 

2010

2011

2012


 2005

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define leap(n) (n % 4 == 0 && (n % 100 != 0 || n % 400 == 0))
int main() {
  int y, m, d, i, s;
  int month[2][13] = {
    {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
    {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
  };
  while (scanf("%d/%d/%d", &y, &m, &d) != EOF) {
    for (s = 0, i = 1 ; i < m ; i++)
      s += month[leap(y)][i];
      s += d;
    printf("%d\n", s);
  }
  return 0;
}

define 居然也可以定义函数 多维数组,存储为数字是根本不用引号,很多东西都忘记了。。。

就算知道这是水题,说实话,我这水平,还是想不到,练吧,能说啥。 心态好点。

 2006

 

#include <stdio.h>
int main(void) {
  int n, i, s, t;
  while (scanf("%d", &n) != EOF) {
    s = 1;
    for (i = 0; i < n; i++) {
      scanf("%d", &t);
      if (t & 1)
        s *= t;
    }
    printf("%d\n", s);
  }
  return 0;
}

水题。.....每次写题目 都不知道 在干嘛 就感觉 题目没好好读 然后 语法的问题 也没好好搞  

错误也看不出来 太菜了 也太傻逼了   

2007 

 

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
  int x,y,i,t;
  int ps=0;
  int lj=0;
  while(scanf("%d%d",&x,&y)!=EOF)
  {
  	 if(x>y)
  {
  	  t = x;
  	  x = y;
  	  y = t;
  }
    int p = 1;
    int j = 1;
    int ps=0;
    int lj=0;
    for(i=x;i<=y;i++)
    {
      if(i%2==0)
      {
        p=i*i;
        ps=ps+p;
      }
      else if(i%2!=0) 
      {
        j=i*i*i;
        lj=lj+j;
      }
    }
     printf("%d %d\n",ps,lj);
  }
  return 0;
}


#include <stdlib.h>
#include <stdio.h>

int main(void) {
  unsigned int m, n, i, x, y;

  while (scanf("%u%u", &m, &n) != EOF) {
    if (m > n) {
      i = n;
      n = m;
      m = i;
    }
    x = y = 0;
    for (i = m ; i <= n ; i++)
      (i & 1) ? (y += i*i*i) : (x += i*i);
    printf("%u %u\n", x, y);
  }

  return EXIT_SUCCESS;
}

 每次编程都在质疑自己,怀疑自己是不是真的不适合搞这个。

可自己确实 时间花的太少了。。。。

在早期CPU处理的功能还不够强的时候,求X对于2n的余数,会换成位运算:X & (2n - 1)。比如求 X 余 8,写成 X & 7。

2008

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
	int n,i;
	float m;
	while(scanf("%d",&n)!=EOF&&n!=0)
	{
	   int f = 0;
	   int l = 0;
	   int z = 0;
		for(i=1;i<=n;i++)
		{
				scanf("%f",&m);
		if(m<0)
		{
			f++;
		}
		else if (m==0)
		{
			l++;
		}
		else 
		{
			z++;
		}	
		}
		printf("%d %d %d\n",f,l,z);
	} 
}


#include <stdio.h>
int main(void)
{
    int n, i, a, b, c;
    double x;
    while (scanf("%d", &n) , n)
    {
        a = b = c = 0;
        for (i = 0 ; i < n ; i++)
        {
            scanf("%lf", &x);
            if (x > 0) c++;
            else if (x < 0) a++;
            else b++;
        }
        printf("%d %d %d\n", a, b, c);
    }

    return 0;
}

学习学习

2009 

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
	int m;
	float s,x;
	while(scanf("%f%d",&x,&m)!=EOF)
	{
		for(s=0.0;m--;x=sqrt(x))
		s+=x;
		printf("%.2f",s);
	}
}

 我真是个废物

 

2010

 

#include<stdio.h>
int main()
{
	int n,m,i;
	int a,b,c,h;
	int f;
	while(scanf("%d%d",&m,&n)!=EOF)
	{
		f=0;
		for(i=m;i<=n;i++)
		{
			a=i/100;
			b=(i/10)%10;
			c=i%10;
			h=a*a*a+b*b*b+c*c*c;
			if(h==i)
			{
				if(f==0)
				{
			     printf("%d",i);
				}
				else
				printf(" %d",i);
				f++;
			}
		}
		if(f==0)
		{
			printf("no\n");
		}
		else
		printf("\n");
	}
}





#include<stdio.h>
int sxh(int m) 
{
  int sum = 0;
  int n = m;
  while (n) {
    sum += (n % 10)*(n % 10)*(n % 10);
    n /= 10;
  }
  return sum == m;
}
int main(void) {
  int n, m, c;
  while (scanf("%d%d", &m, &n)) {
    for (c = 0; m <= n; m++) {
      if (sxh(m))
        printf(c++ ? " %d": "%d", m);
    }
    puts(c ? "\n" : "no\n");
  }
  return 0;
}


心态不行 能力不行 水平不行 

h 应该在 for上?

 

2011

 

#include<stdio.h>
int main()
{
	int n,m,i,j,flag,c;
	float sum;
	scanf("%d",&m);
	for(i=1;i<=m;i++)
	{
		scanf("%d",&c);
	sum=0;
	flag = 1;
	for(j=1;j<=c;j++)
	{
		sum=sum+(1.0/j)*flag;
		flag=-flag;
	}
	printf("%.2f\n",sum);	
	}
}

慎思 慎行 多思考 心态要好 不要浮躁

 

2012

#include<stdio.h>
int prime(int n)
{
    int i;
	int flag;
	flag=0;
	for(i=2;i<n;i++)
	{
		if(n%i==0)
		flag++;
		
	}
	if(flag==0)
	{
	   return 0; 
	}
	else
	return 1; 
}
int main()
{
	int x,y,i,s,k;
	while(scanf("%d%d",&x,&y)!=EOF&&!(x==0&&y==0))
	{
		k=0;
		for(i=x;i<=y;i++)
		{
			s=i*i+i+41;
			if(prime(s))//f(s)!=0
			{
				k++;
			}
		}
		if(k!=0)
		printf("Sorry\n");
		else
		printf("OK\n");
	}
}

判定该表达式的值是否都为素数。

好好读题 看好条件 不然找不到问题所在 

然后代码 写出来跟屎一样 太长了 读起来很难受 

低级错误很多 对有些细节 不是很知道

 2013

 

#include <stdio.h>
int f(int n);
int main()
{
    int n,sum;
    while(scanf("%d",&n) != EOF&&n)
    {
        sum = f(n);
        printf("%d\n",sum);
    }
    return 0;
}
int f(int n)
{
    if(n == 1)
       {
            return 1;
       }
    else
       {
            return 2 * (f(n-1) + 1);
       }
}



#include <cstdio>
 
long long int memo[33];
 
long long int f(long long int n)
{
	memo[1] = 1;
	for(long long int i = 2; i <= n; ++ i)
	{
		memo[i] = 2 * (memo[i - 1] + 1);
	}
	return memo[n];
}
 
int main()
{
	long long int n;
	while(scanf("%d", &n) != EOF)
	{
		printf("%d\n", f(n));
	}
	
	return 0;
}

找规律 日常自闭 低级错误 ..........

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值