Regionals 2001 >> Latin America - South America
题链接:UVALive2389 ZOJ1078 Palindrom Numbers。入门训练题,用C语言编写程序。
题意简述:输入若干个整数,0作为结束。对于输入的整数n,问其几进制为回文数?
这是一个有关进制处理的问题,都是套路。
程序中,封装了一个函数ispalindrom()用于将整数...
分类:
其他好文 时间:
2016-08-03 20:30:42
阅读次数:
145
Regionals 2009 >> Asia - Jakarta
题链接:UVALive 4660 A+B。入门训练题,用C语言编写程序。
这是一个进制问题,输入的两个数不知道是几进制,也就是几进制都可以,求的是两个数最小的和,结果以10进制输出。
对于输入的两个数来说,进制越小值越小,所以尽可能选进制小的。最小的可能的进制就是一串数字中最大的数字加上1。只要两个数的进制知道了,事情就好...
分类:
其他好文 时间:
2016-08-03 06:46:03
阅读次数:
138
问题链接:HDU2057 A + B Again。入门训练题,用C语言编写程序。
投机取巧,按照许多人的做法来做,程序是AC了。即便如此,也是一脸困惑,不知道这种题有何意义?
看一下下表,可以知道__int64 与long long 的区别。可是依旧是困惑。
变量定义
输出方式
gcc(mingw32)
g++(mingw32)
gcc(linux i386)...
分类:
其他好文 时间:
2016-07-13 17:41:08
阅读次数:
171
问题链接:HDU1196 Lowest Bit。入门训练题,用C语言编写程序。
这个问题从1开始逐步试探即可,然后是:2,4,8,16,......。每次左移1位即可。
AC程序如下:
/* HDU1196 Lowest Bit */
#include
int main(void)
{
int a, v;
while(scanf("%d", &a) != EO...
分类:
其他好文 时间:
2016-07-13 16:15:09
阅读次数:
136
问题链接:HDU2051 Bitset。入门训练题,用C语言编写程序。
这个问题是将输入的整数转换为2进制数。
进制转换问题需要用模除,转换为2进制就模除2。然而,模除是从低位开始取出各个位的,最后的结果还需要逆转一下再输出。
用位运算代替2的模除是一个好主意,除以2也可以用右移1位运算来代替。
AC程序如下:
/* HDU2051 Bitset */
#include
...
分类:
其他好文 时间:
2016-07-10 08:43:41
阅读次数:
207
问题链接:HDU2046 骨牌铺方格。入门训练题,用C语言编写程序。
这是一个典型的递推计算题。
f(0) = 0,没有地方摆骨牌,所以为0;
f(1) = 1,只能竖着摆放1个骨牌;
f(2) = 2,可以是横着摆放2个骨牌,或者竖着摆放2个骨牌;
f(n) = f(n-2) + f(n-1),n>2,可以在f(n-2)的基础上在右边再横着放2个骨牌(竖着放已经在f(n-1)中),也可...
分类:
其他好文 时间:
2016-07-09 09:22:19
阅读次数:
130
问题链接:HDU2022 海选女主角。入门训练题,用C语言编写程序。
不需要使用数组的,一边输入一边处理足以对付一切。
这只不过是一个一般套路而已。
AC程序如下:
/* HDU2022 海选女主角 */
#include
#include
int main(void)
{
int m, n, val, max, maxi, maxj, i, j;
while...
分类:
其他好文 时间:
2016-07-03 09:19:42
阅读次数:
138
问题链接:HDU2019 数列有序!。入门训练题,用C语言编写程序。
也许对于本题,会考虑用插入排序来做,那就有点绕远了。只要做排序就有可能可能做数据交换,处理时间就长了。
可以考虑输入的n个数据先存放在数组中,再输出。
各种方案中,一边输入数据,一边输出数据,并且在适当位置输出m的做法,应该是优选方案。因为这样做,省去了数组,没有使用额外空间。
AC程序如下(正解):
/* HDU...
分类:
其他好文 时间:
2016-06-30 09:51:05
阅读次数:
263
问题链接:HDU2018 母牛的故事。入门训练题,用C语言编写程序。
菲波拉契数列是是十分有用的,可以用来描述动物的繁衍过程。本题就是其中一个例子。
这个问题可以得出以下的函数递推式:
f(n)=n n
f(n)=f(n-1) + f(n-3) n>4
对于上述的递推函数,最简单的做法是编写一个递归的函数来实现。实际上,本题的递推函数是可以用一个递推过程的函数来实现的,即不...
分类:
其他好文 时间:
2016-06-29 08:57:17
阅读次数:
188
问题链接:HDU2016 数据的交换输出。入门训练题,用C语言编写程序。
这个问题需要使用数组。
程序的处理过程是套路,从数组中找出最小元素,得到最小元素的下标。然后数组中的最小元素与第1个元素进行交换。
程序中清晰地给出了处理过程的逻辑。
AC程序如下:
/* HDU2016 数据的交换输出 */
#include
int main(void)
{
int n, va...
分类:
其他好文 时间:
2016-06-28 08:13:48
阅读次数:
184