HDOJ100

目錄

 

 

 2005

 2006

  2007 

   2008


 

 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<iostream>
#include<cmath>
using namespace std;
int main()
{
    int l,r;
    while(cin >> l >> r)
    {
        int count = 0;
        for(int i=l;i<=r;i++)
        {
            int sum = pow(i%10,3) + pow((i/10)%10,3) + pow(i/100,3);
            if(sum == i){
                count++;
                if(count == 1)
                    cout << i;
                else
                    cout << " " << i;
            }
        }
        if(count == 0)
            cout << "no";
        cout << endl;
    }
    return 0;
}


#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;
}


心態不行 能力不行 水平不行 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章