![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++语言
且_听_风_吟
2018年至今java后端,spring boot 、cloud项目设计管理,微服务开发模式下的高并发和分布式整体架构研究。
2015-2017年主要做传统java web ssh服务,传统的集群、分布式架构设计。
了解前端、安卓开发;
展开
-
高斯日记
/*高斯日记大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此原创 2013-05-16 09:00:22 · 1807 阅读 · 3 评论 -
回形方阵问题
/*回型方阵输入首字符和高后,输出如图所示回型方阵。A A A A A A B B B A A B C B A A B B B A A A A A A */#include#include"stdlib.h"#include"math.h"int small(int i,int j){if(i>j) return j;else return原创 2013-04-11 18:23:34 · 2376 阅读 · 0 评论 -
求出abcde/fghij=n的所有情况,其中,a~j为0~9的一个排列
//输入一个2//下面的一些没用使用的代码可以看做是我思考时候的一些思路#include"stdio.h"#include"stdlib.h"void main(){int notaaa(int a[],int t,int y);int a[10],k,n=0,c[150][10],cur1=-1,cur2;//c数组用来保存每一次的结果然后排序输出,cur用来排序循环用原创 2013-04-04 12:13:02 · 2688 阅读 · 0 评论 -
因子和阶乘
//输入整数一个,输出其阶乘从小到大的素数的指数//如5!=2^3 * 3^1 * 5^1#include"stdio.h"#include"stdlib.h"int main(){int a[1000],k=0;//存素数int b[1000],j,w;//存指数,w为输入for(int i=0;i{a[i]=b[i]=0; }//初始化for(int i=2原创 2013-03-16 16:29:58 · 501 阅读 · 0 评论 -
世纪末的星期
/*标题: 世纪末的星期曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。还有人称今后的某个世纪末的12月31日,如果是星期一则会....有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!! 于是,“谣言制造商”又修改为星期日......1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星原创 2013-05-08 18:18:15 · 939 阅读 · 0 评论 -
弦截法初探
#include"stdio.h"#include"stdlib.h"#include"math.h"float min=0.000001,n=-5555;int a,b,c,d;double yy(double x){return(a*x*x*x+b*x*x+c*x+d);}double xpoint(double x1,double x2){//double原创 2013-05-01 10:49:42 · 854 阅读 · 0 评论 -
大数阶乘
#include"string.h"#include"stdio.h"#include"stdlib.h"int main(){int i,j,k,n=0,m=0;int a[3000];/*定义一个数组来存放各位,十位,百位......*/for(i=0;ia[i]=0;a[0]=1;/* 因为0!=1且1!=1*/scanf("%d",&k);for(j原创 2013-04-26 23:14:17 · 534 阅读 · 0 评论 -
古堡算式ABCDE * ? = EDCBA
/*福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!” 于是,两人沉默了好久,还是没有算出合适的结果来。 请你利用计算机的优势,找到破解的答案。 把 ABCDE 所代表的数字写出来。*/ #includ原创 2013-04-22 18:44:31 · 1764 阅读 · 0 评论 -
哥德巴赫猜想,2000以内的正偶数分解为两个素数之和
//哥德巴赫猜想,2000以内的正偶数分解为两个素数之和#include"stdio.h"#include"stdlib.h"int main(){int i,j,k,a[1000],n=0;//用数组a存储2000以内的所有素数,n表示素数的个数for(i=2;i{int key=1;//key=1的时候表示是素数 for(j=2;j if(i%j==0)原创 2013-04-16 15:47:38 · 3550 阅读 · 0 评论 -
子序列的最大乘积问题
//输入n个元素组成的序列S,找出最大的一个连续子序列,若乘积为正输出结果,否则输出-1(表示无解)//1=#include"stdio.h"#include"stdlib.h"void main(){int n,s[20],a[20],cur;long int k,w=0;printf("请输入您要输入的元素的个数:\n");scanf("%d",&n);pr原创 2013-04-04 11:26:07 · 934 阅读 · 0 评论 -
Cantor的数表
#include"stdio.h"#include"stdlib.h"int main(){int i,n,k;k=1;scanf("%d",&n);for(i=0;n-i>0;i++){n=n-i;k=-k;//纪录其排序的顺序}i=i-n+1;if(k{int t=i;i=n;n=t;}printf("\n%d/%d\n",n,i);sy原创 2013-03-16 15:42:30 · 512 阅读 · 0 评论 -
三天打鱼两天晒网问题
中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。*问题分析与算法设计根据题意可以将解题过程分为三步:1)计算从1990年1月1日开始至指定日期共有多少天;2)由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除;3)根据余数判断他是在“打鱼”还是在“晒网”;若余数为1,2,原创 2012-08-12 11:27:37 · 1300 阅读 · 0 评论 -
n个人围成一圈,凡报到3的人退出
/*有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。*/#include"stdio.h"#include"stdlib.h"int main(){int i,j,k,n,a[1000];i=k=0; j=1;scanf("%d",&n);for(i;ia[i]=i+1;i=0;whi原创 2013-04-30 22:50:33 · 1230 阅读 · 0 评论 -
自守数问题,即n^2的结果的末尾仍然是n
#include"stdio.h"#include"stdlib.h"int main(){long int i,k,k1,k2,k3,mul; for(i=0;i {mul=0;k3=1; while(i/k3>0) k3=k3*10; for(k=1;i/k>0;k=k*10) { k1=i%(k3/k);//从首位尾依次到末位,其中首位依次减少原创 2013-04-11 18:17:18 · 764 阅读 · 0 评论 -
请找出十个最小的连续自然数,它们个个都是合数(非素数)
//请找出十个最小的连续自然数,它们个个都是合数(非素数)#include"stdio.h"#include"stdlib.h"int main(){int k=0;//用于计数for(int i=2;i{ int key=1;//用于判断素数的标识,key=1的时候是素数for(int j=2;jif(i%j==0){key=0; break; }if(!ke原创 2013-04-16 15:50:03 · 2815 阅读 · 0 评论 -
1898–要发就发
/*“1898–要发就发”。请将不超过1993的所有素数从小到大排成第一行,第二行上的每个素数都等于它右肩上的素数之差。编程求出:第二行数中是否存在这样的若干个连续的整数,它们的和恰好是1898?假好存在的话,又有几种这样的情况?第一行:2 3 5 7 11 13 17……1979 1987 1993第二行:1 2 2 4 2 4…… 8 6首先从数学上分析该问题:假设第一行中原创 2013-04-16 16:43:58 · 3767 阅读 · 0 评论 -
指针,地址,与数值传递小探
/* Note:Your choice is C IDE */#include "stdio.h"#include"malloc.h"void swap(int *p1,int *p2){int *temp; temp=p1; p1=p2; p2=temp; printf("swap:\np_%d\n",*p1);//这里的地址相当于局部变量,只在这个函数内有效原创 2013-05-01 17:04:41 · 657 阅读 · 0 评论 -
大数十六进制转换成8进制
说明:问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。注意 输入的十六进制数不会有前导0,比如012A。原创 2014-02-28 22:51:48 · 1143 阅读 · 0 评论 -
困难的串C语言
/*如果一个字符串包含两个相邻的重复字串,则称它是“容易的串”,其他串称为“困难的串”。例如,BB,ABCDACABCAB,ABCDABCD都是容易的,而D,DC,ABDAB,CBABCBA都是困难的。输入正整数n和L,输出由前L个字符组成的,字典序第k小的困难的串。例如,当L=3时,前7个困难的串分别为:A,AB,ABA,ABAC,ABACA,ABACAB,ABACABA.输入保证答案不超原创 2014-02-25 22:00:29 · 1592 阅读 · 0 评论 -
杨辉三角(两个一维数组)
//思路,每一次的值是建立在上一次的值之上,所以用一个数组b来保存每次的值即可#include main() { int a[100],i,b[100]; int n; scanf("%d",&n); for(i=0;i<100;i++) a[i]=b[i]=1;//初始化完毕 for(i=0;i<n;i++)//输出n行的循环 {int j; for(j=1;j<原创 2014-02-22 23:26:21 · 760 阅读 · 0 评论 -
连号区间数
/*标题:连号区间数小明这些天一直在思考这样一个奇怪而有趣的问题:在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。原创 2013-05-11 13:36:15 · 1101 阅读 · 0 评论 -
振兴中华
/*标题: 振兴中华小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)从我做起振我做起振兴做起振兴中起振兴中华比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。要求跳过的路线刚好构成“从我做起振兴中华”这句话。原创 2013-05-08 20:07:07 · 1154 阅读 · 0 评论 -
带分数
/*标题:带分数 100 可以表示为带分数的形式:100 = 3 + 69258 / 714还可以表示为:100 = 82 + 3546 / 197注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注原创 2013-05-07 22:50:20 · 843 阅读 · 0 评论 -
二进制转换
十进制转换为二进制/* HELLO.C -- Hello, world */#include "stdio.h"#include "conio.h"#include"stdio.h"main(){long int a,b,c;scanf("%ld",&a);c=0;for(b=2;a>=b;b*=2)c++;b=b/2;for(;a>=0&&c>=原创 2013-04-26 23:05:56 · 1072 阅读 · 2 评论 -
4X4可逆素数幻方
//求四阶的素数幻方。即在一个4X4 的矩阵中,每一个格填入一个数字,使每一行、每一列和两条对角线上的4个数字所组成的四位数,均为可逆素数。//求四位的可逆素数#include"stdio.h"#include"stdlib.h"int zz=0;int quzhi(int *a,int k)//将k分解成4位存在a中{a[0]=k/1000;a[1]=k/100%10原创 2013-04-26 10:42:34 · 1954 阅读 · 0 评论 -
蛇形数组
//蛇形数组01#include"stdio.h"#include"stdlib.h"int main(){int aa,a,b,bb,n=0,temp=0;int k[100][100],num;//保存数组的结果for(int i=0;ifor(int j=0;jk[i][j]=0;//初始化scanf("%d",&num);for(int j=1;j原创 2013-04-25 09:06:18 · 993 阅读 · 0 评论 -
密码发生器
/*在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了…这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。变换的过程如下:第一步. 把字符串6原创 2013-04-23 20:49:17 · 668 阅读 · 0 评论 -
放棋子
/*今有 6 x 6 的棋盘格。其中某些格子已经预先放好了棋子。现在要再放上去一些,使得:每行每列都正好有3颗棋子(如图【1.jpg】)。 */#include"stdio.h"#include"stdlib.h"int N = 0; bool CheckStoneNum(int x[][6]) { for(int k=0; k {原创 2013-04-23 18:21:32 · 673 阅读 · 0 评论 -
对方阵顺时针旋转
/*对一个方阵转置,就是把原来的行号变列号,原来的列号变行号例如,如下的方阵: 转置后变为: 1 2 3 4 1 5 9 135 6 7 8 2 6 10 149 10 11 12原创 2013-04-23 16:22:07 · 1087 阅读 · 0 评论 -
大数乘法(第三届蓝桥杯)
/*大数乘法对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的办法是:仅仅使用现有类型,但是把大整数的运算化解为若干小整数的运算,即所谓:“分块法”。*/#include"stdio.h"#include"stdlib.h"void big原创 2013-04-23 16:39:38 · 1022 阅读 · 0 评论 -
微生物增殖
/*第一题:微生物增殖假设有两种微生物 X 和 YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60分钟后Y的数目。题目的结果令你震惊转载 2013-04-22 19:21:43 · 680 阅读 · 0 评论 -
海盗比酒量
/*有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。 等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船...原创 2013-04-22 18:59:46 · 1018 阅读 · 0 评论 -
幸运数
/*标题:幸运数幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6,....1 就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1 _ 3 _ 5 _ 7 _ 9 ....把它们缩紧,重新记序,为:1 3 5 7 9 .... 。这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。注意,是序号位置,原创 2013-05-12 16:01:42 · 3687 阅读 · 2 评论 -
将真分数分解为埃及分数
/*将真分数分解为埃及分数古埃及人所指的分数,其分子必等于1,例如:1/2、1/3、1/4。我们称这些分子等于1的分数为“埃及分数”。现输入一个真分数,请将该分数分解为埃及分数之和。如:8/11=1/2+1/5+1/37+1/4070。*问题分析与算法设计其实分法有多种,比如刚才的8/11,还可以分为8/11=1/2+1/5+1/55+1/110。但是我们规定一下分解原则:给定一个原创 2013-05-14 22:24:49 · 6007 阅读 · 1 评论 -
比较两个分数的大小
/*比较两个分数的大小。*问题分析与算法设计人工方式下比较分数大小最常用的方法是:进行分数的通分后比较分子的大小。可以编程模拟手式方式。#include"stdio.h"#include"stdlib.h"#include"time.h"long int gongbeishu(int a,int b)//求最小公倍数{int temp;int k1=a,k2=b;while原创 2013-05-14 21:33:16 · 4843 阅读 · 0 评论 -
逆波兰表达式
/*正常的表达式称为中缀表达式,运算符在中间,主要是给人阅读的,机器求解并不方便。 例如:3 + 5 * (2 + 6) - 1 而且,常常需要用括号来改变运算次序。 相反,如果使用逆波兰表达式(前缀表达式)表示,上面的算式则表示为: - + 3 * 5 + 2 6 1 不再需要括号,机器可以用递归的方法很方便地求解。 为了简便,我们假设原创 2013-05-20 09:21:26 · 962 阅读 · 2 评论 -
黄金连分数(高精度除法)
/*标题: 黄金连分数黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!!言归正传,我们如何求得黄金分割数的尽可能精确的值呢原创 2013-05-11 12:50:53 · 1994 阅读 · 1 评论 -
错误票据
/*标题:错误票据某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。要求程序首先输入一个整数N(N接着读入N行数据。原创 2013-05-11 16:58:16 · 1116 阅读 · 0 评论 -
前缀判断
如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。 比如:"abcd1234" 就包含了 "abc" 为前缀char* prefix(char* haystack_start, char* needle_start){char* haystack = haystack_start;char* needle原创 2013-05-20 08:57:09 · 1075 阅读 · 0 评论 -
排它平方数
/*排它平方数:小明正看着 203879 这个数字发呆。 原来,203879 * 203879 = 41566646641 这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。 具有这样特点的6位数还有一个,请你找出它! 再归纳一下筛选要求: 1. 6位正整数原创 2013-05-19 11:05:54 · 1448 阅读 · 0 评论