忍了好久没写的HDOJ1097:A hard puzzle

A hard puzzle

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 25563    Accepted Submission(s): 9084

Problem Description
lcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how to know the a^b.everybody objects to this BT problem,so lcy makes the problem easier than begin.
this puzzle describes that: gave a and b,how to know the a^b’s the last digit number.But everybody is too lazy to slove this problem,so they remit to you who is wise.
Input
There are mutiple test cases. Each test cases consists of two numbers a and b(0<a,b<=2^30)
Output
For each test case, you should output the a^b’s last digit number.
Sample Input
7 66 8 800
Sample Output
9 6
首先放上代码:
#include
int main()
{
    long a,b;
    int temp;
    while(scanf("%ld%ld",&a,&b)!=EOF)
    {
        a=a%10;
        b=(b>4)?b%4:b;
        if(b==0)
        {
            b=4;
        }
        for(temp=1;b>0;b--)
        {
            temp=temp*a;
        }
        printf("%dn",temp%10);
    }
   return 0;
}

 一道找规律的题目,研究一下会发现末位数都是有规律的,都是4的倍数

1是1、1、1、1
2是2、4、8、6
3是3、9、7、1
4是4、6、4、6
5是5、5、5、5
6是6、6、6、6
7是7、9、3、1
8是8、4、2、6
9是9、1、9、1

这样,找到规律之后打码就可以了,注意a,b必须要是long才行。还有就是return 0;要写到下面,否则会提示格式错误CE……我貌似就是CE了好久没有找到错在哪里,心灰意冷,55555555………………

不算难的一道题,可我为什么做了好久才做出来呢…………

HDOJ2010:水仙花数【讲一个数据按位取出】

水仙花数

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 82794    Accepted Submission(s): 24161

Problem Description
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
现在要求输出所有在m和n范围内的水仙花数。
Input
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。
Output
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no;
每个测试实例的输出占一行。
Sample Input
100 120 300 380
Sample Output
no 370 371
Author
lcy
解:
#include
int main()
{
    int ge,shi,bai,sum,m,n,t;
    while(~scanf("%d%d",&m,&n))
    {
        sum=0;
        for(t=m;t

这道题的解题有点曲折,一开始是想通过数组的方式先找出100~999之间的所有的水仙花数,再根据需要依次输出,后来发现跟题意有点不符……之后就是取数字的那段代码(红色高亮)代码写错了,又加上if语句那里漏写了一个等号,于是第一次运行之后就出现了壮观的数字雨……
这道题目主要注意一下按位取出,以及==与=的不同。还有就是第一次做过之后HDOJ提示格式错误,这里注意要加一个判断水仙花数的变量sum,顺便用sum来把各个水仙花数隔开。最后的n换行要写到if语句的外面。
最后附上数字雨的截屏(为凸显壮观已按比例缩小)

壮观的数字雨

HDOJ2009:求数列的和【sqrt()函数】

求数列的和

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 36407    Accepted Submission(s): 22186

Problem Description
数列的定义如下:
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
Input
输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
Output
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
Sample Input
81 4 2 2
Sample Output
94.73 3.41
Author
lcy
解:
#include
#include
int main()
{
    int n,m,i;
    double sum,k;
    while(~scanf("%d %d",&n,&m)&&n

这道题目主要是运用sqrt()函数求解,注意sqrt()要求输入输出值双精度浮点型,调用头文件math.h~

HDOJ2005:第几天【switch语句的简单应用】

第几天?

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 61733    Accepted Submission(s): 23197

Problem Description

给定一个日期,输出这个日期是该年的第几天。

Input

输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

Output

对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input

1985/1/20 2006/3/12

Sample Output

20 71

Author

lcy

Source

C语言程序设计练习(一)

解:

#include
int main()
{
    int y,m,d,sum;
    while(~scanf("%d/%d/%d",&y,&m,&d))
    {
        sum=0;
        switch(m)
        {
        case 12:sum+=30;
        case 11:sum+=31;
        case 10:sum+=30;
        case 9:sum+=31;
        case 8:sum+=31;
        case 7:sum+=30;
        case 6:sum+=31;
        case 5:sum+=30;
        case 4:sum+=31;
        case 3:if((y%4==0)&&((y%100)!=0)||(y%400==0))
                   sum+=29;
                   else
                   sum+=28;
        case 2:sum+=31;
        case 1:sum+=d;
        }
        printf("%dn",sum);
        sum=0;
    }
    return 0;
}

首先是关于润年的判断,简单打草后可以推出是在三月的时候进行。一开始还打算用if语句嵌套,写了三层之后发现还是比较麻烦的,改用switch语句。要注意switch语句是是从表达式值于case的常量表达式值i相等时,从该case进入的,然后依次执行后面的语句。也就是说,关于这道题目的case应该倒着写,从case12case1,这样才能保证依次执行。

题目不难,主要考察的switch语句的运用,水水的一次过~

HDOJ2008:数值统计

数值统计

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 44455    Accepted Submission(s): 22673

Problem Description
统计给定的n个数中,负数、零和正数的个数。

 

Input
输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。

 

Output
对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。

 

Sample Input
6 0 1 2 3 -1 0 5 1 2 3 4 0.5 0

 

Sample Output
1 2 3 0 0 5

 

#include
int main()
{
    int n,x,zheng,fu,ling;
    double a;
    while(scanf("%d",&n)!=EOF&&n)
    {
        zheng=fu=ling=0;
        for(x=0;x0)
                zheng++;
            else
                ling++;
        }
        printf("%d %d %dn",fu,ling,zheng);
    }
    return 0;
}

注意题目要求遇0结束,就要在while语句后面加上&&n,作用相当于n!=0
或者可以在while语句后面加上if(n==0)break;

我只想说,电子阅览室关门好早啊,刚刚找到感觉……
回寝室继续吧!

【转载】如果编程语言是妹子

又到了吐槽编程语言的时候了~ 继续阅读【转载】如果编程语言是妹子

第一次宕机

上周四篇的任务没有完成……

开了好多的坑没有补,两篇文章没有呢写完就感冒了。头痛、流鼻涕,就没有再写下去。如此难得的借口,索性把ACM也停掉了,没有再继续做题……

这两天感觉好多了,今天正跃跃欲试摩拳擦掌准备ACM的时候,突然收到了两条宕机的信息。各种紧张啊,寝室又不能上网,网站到底怎么样了完全不知道啊………………

于是下午抓紧到电子阅览室,结果……

好吧……重启了一下……一下……………………

附上这次宕机的监控报告,表示这是换主机以来的第一次宕机,好有纪念意义的说

(= =)

 

新—如果编程语言是妹子

Ruby 是一个略显丰满的女孩,但其令人窒息的甜蜜面容绝对会成为你一生的梦想,然而,当你最终得到了她,她却开始迅速发胖,你开始认识到了她华丽外表下所有恶劣的性格缺陷。你坚持认为事情会有好转,但事实却不是这样,你最终不得不苦恼的把所有时间都花在寻找新的能让她保持高兴的事情上。

Java 是一个过于精于计算的生意场上的女人,她会盲目的遵循各种习惯风俗——不论它们是如何的相互矛盾和荒谬。虽然相貌平平,但你和她出门或做任何事情前都必须经过各种的礼节、复杂的装饰、规定的仪式。她通过各种方法、没完没了的自我宣传来保持一个好的名声。

Python是大众情人,她体贴周到,魅力迷人,是一位好听众,更是伶牙俐齿,思想有见地,有时她会进入野外自我探索的旅途,在那里,她能彻底的自我再造,当她会来时,你看到的已经是完全另外一个人了。

JavaScript是精力充沛的狂热信徒,她愿意去寻找出任何荒谬的办法来跑的更快——即使会因此变得体积太庞大而无法干任何其它的事情。然而,你无法忽视她,因为她无处不在,你总能遇到她。幸运的是,当她变的有点失控时,她的胖朋友们会为你提醒她。

Lisp将会成为你事业上的导师,能在任何事情上为您提供理论方案,让你佩服的五体投地,但是,按她的方法做出的锤子不能直直钉入一个钉子。永远都是玄虚的思想,宏大的计划,跟着她,你会发现自已永远都只能住在桥洞里饿的瑟瑟发抖,直到她发现另外一个愿意为她花钱的傻瓜再为她可笑的追逐50年的风车。

PHP是一个很平常的女孩,能真心的和你交谈。她超重,不是很聪明,皮肤不好,虽然化妆也不是很漂亮,每有流行事情她都在几年后才去追随,安于现状。你最终会勉强接受她。

又见双十一

我只上图,不说话~

至于你买不买,反正我在双十一是不买东西~

HDOJ2007:平方和与立方和

Problem Description

给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。

Input

输入数据包含多组测试实例,每组测试实例包含一行,由两个整数mn组成。

Output

对于每组输入数据,输出一行,应包括两个整数xy,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。

Sample Input

1 3

2 5

Sample Output

4 28

20 152

Author

lcy

Source

C语言程序设计练习(一) 

 

 

Recommend

JGShining

#include
int main()
{
    int d1,d2,n,out1,out2,chg;
    while(scanf("%d%d",&d1,&d2)!=EOF)
    {
        out1=0;
        out2=0;
        if(d1>d2){chg=d1;d1=d2;d2=chg;}
        for(n=d1;n
  • 如果输入的两数大小颠倒的话也要保证能够正常输出
  • 脑残了,第一次做这个题的时候输入的是%c%c,纠结了好久找不到错……