code for fun

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年5月17日

摘要: 描述给定一个数n,范围为0≤n≤100,请你编程精确的求出n的阶乘n!。 输入输入数据有多行,每行一个整数n,当n<0时输入结束。输出输出n的阶乘。样例输入1234-1样例输出12624 1 #include<stdio.h> 2 #include<math.h> 3 #include<string.h> 4 #include<ctype.h> 5 6 int a[10000]; 7 8 void deal(int n) 9 {10 int i,j,len,flag,t;11 a[0]=1;12 if(n==0)13 {14 printf( 阅读全文
posted @ 2013-05-17 13:23 xueda120 阅读(691) 评论(0) 推荐(0) 编辑

2013年5月15日

摘要: 描述 现在你用程序来证明吧。为了简洁,这里将问题转化为,给你两个奇数,分别为a 和 b,a、b为整数,保证a>b,然后要你算出8*c的形式,要求c也是整数。例如:给你5 3 可以求出8*2。运算过程a^2-b^2=5^2-3^2=8*2 问题很清楚了吧?那么开始吧。输入输入有多组测试数据。每组输入两个正整数奇数,a 和 b,且2^31>a>b>0。 输出输出a^2-b^2=8*c。 字符或数字之间没有空格存在。样例输入5 39 715 3样例输出5^2-3^2=8*29^2-7^2=8*415^2-3^2=8*27注意:此题主要注意a,b的类型,不能是int,要开到__ 阅读全文
posted @ 2013-05-15 17:09 xueda120 阅读(308) 评论(0) 推荐(0) 编辑

摘要: 描述你的任务是:计算方程x^2+y^2+z^2= num的一个正整数解。 输入输入数据包含多个测试实例,每个实例占一行,仅仅包含一个小于等于10000的正整数num。输出对于每组测试数据,请按照x,y,z递增的顺序输出它的一个最小正整数解,每个实例的输出占一行,题目保证所有测试数据都有解。样例输入3样例输出1 1 1 1 #include<stdio.h> 2 #include<math.h> 3 #include<string.h> 4 #include<ctype.h> 5 7 void deal(int n) 8 { 9 int i,j,k 阅读全文
posted @ 2013-05-15 13:31 xueda120 阅读(349) 评论(0) 推荐(0) 编辑

摘要: 描述在大学里,很多单词都是一词多义,偶尔在文章里还要用引申义。这困扰Redraiment很长的时间。他开始搜集那些单词的所有意义。他发现了一些规律,例如“a”能用“e”来代替, “c”能用“f”来代替……现在他给出了字母的替换规则,如下所示,A被E替换,B被C替换,依次类推。A B C D E F G H I J K L M N O P Q R S T U V W X Y ZE C F A J K L B D G H I V W Z Y M N O P Q R S T U Xa b c d e f g h i j k l m n o p q r s t u v w x y ze r w q t 阅读全文
posted @ 2013-05-15 11:48 xueda120 阅读(370) 评论(0) 推荐(0) 编辑

2013年5月14日

摘要: A positive integer is called apalindromeif its representation in the decimal system is the same when read from left to right and from right to left. For a given positive integer K of not more than 1000000 digits, write the value of the smallest palindrome larger than K to output. Numbers are always 阅读全文
posted @ 2013-05-14 17:51 xueda120 阅读(149) 评论(0) 推荐(0) 编辑

摘要: 若i为素数,则设置a[i]为1;反之则设置为0.首先,将所有数组的元素设置为1,表示没有已知的非素数。然后将已知为非素数(即为已知素数的倍数)的索引对应的数组元素设置为0。如果将所有较小的素数的倍数都设置为0之后,a[i]仍然保持为1,则可判断它是所找的素数。 1 #include<stdio.h> 2 #define N 10000 3 int main() 4 { int i, j, a[N]; 5 for (i = 2; i < N; i++) a[i] = 1; 6 for (i = 2; i < N; i++) 7 if (a[i]) 8 ... 阅读全文
posted @ 2013-05-14 13:16 xueda120 阅读(163) 评论(0) 推荐(0) 编辑

摘要: 描述一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其和不是回文数,则重复上述步骤,一直到获得回文数为止。例如:68变成154(68+86),再变成605(154+451),最后变成1111(605+506),而1111是回文数。于是有数学家提出一个猜想:不论开始是什么正整数,在经过有限次正序数和倒序数相加的步骤后,都会得到一个回文数。至今为止还不知道这个猜想是对还是错。现在请你编程序验证之。 输入每行一个正整数。特别说明:输入的数据保证中间结果小于2^31。输出对应每个输入,输出两行 阅读全文
posted @ 2013-05-14 11:27 xueda120 阅读(507) 评论(0) 推荐(0) 编辑

摘要: 描述哥德巴赫猜想大家都知道一点吧.我们现在不是想证明这个结论,而是想在程序语言内部能够表示的数集中,任意取出一个偶数,来寻找两个素数,使得其和等于该偶数.做好了这件实事,就能说明这个猜想是成立的.由于可以有不同的素数对来表示同一个偶数,所以专门要求所寻找的素数对是两个值最相近的,而且素数对中的第一个数不大于第二个数. 输入输入中是一些偶整数M(5<M<=10000).输出对于每个偶数,输出两个彼此最接近的素数,其和等于该偶数.样例输入203040样例输出7 1313 1717 23 1 #include<stdio.h> 2 #include<math.h> 阅读全文
posted @ 2013-05-14 09:44 xueda120 阅读(590) 评论(0) 推荐(0) 编辑

摘要: 找出所有满足1/x+1/y=1/z的三元正整数解(x,y,z) 方程等价变形为:z=xy/(x+y),记d=gcd(x,y) ---- 最大公约数于是,x=dm, y=dn, 其中gcd(m,n)=1.紧接着,gcd(mn,m+n)=1,于是z=dmn/(m+n), 表明(m+n)|d, 例如:d=k(m+n),k是一个正整数.于是我们就可以得到如下解:x=km(m+n), y=kn(m+n), z=kmn,其中三个参数:k,m,n都是正整数.注意:假如a,b,c没有公因子,并且满足1/a+1/b=1/c, 于是a+b是一个完全平方数. 事实上,通过前面的解,... 阅读全文
posted @ 2013-05-14 00:11 xueda120 阅读(136) 评论(0) 推荐(0) 编辑

2013年5月13日

摘要: 描述Ignatius is doing his homework now. The teacher gives him some articles and asks him to tell how many times each letter appears.It's really easy, isn't it? So come on and AC ME. 输入Each article consists of just one line, and all the letters are in lowercase. You just have to count the numbe 阅读全文
posted @ 2013-05-13 18:15 xueda120 阅读(240) 评论(0) 推荐(0) 编辑