![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
Jchenn
おとこは死ぬまで少年
展开
-
C语言实现二叉树的重载
C语言实现二叉树的重载:typedef struct BTNode { // 孩子表示法 char data; struct BTNode* lchild, *rchild;}BTNode; BTNode* RestoreTree(char* ppos, char* ipos, int n) { // ppos是先序遍历顺序,ipos是中序遍历顺序; if (strlen(ipos) == 0) { return NULL; // 如果ipos长度为9,那么表明没原创 2021-07-11 21:37:52 · 179 阅读 · 0 评论 -
素数环
题目描述输入一个正整数n,将从1到n这n个整数围成一个圆环,如果其中任意2个相邻的数字相加结果均为素数,那么这个环就称为素数环。输入输入一个正整数n,n<=16输出输出长度为n的素数环序列(可能的解有多个),要求从整数1开始逆时针排列,同一个环恰好输出一次。样例输入6样例输出1 4 3 2 5 61 6 5 2 3 4思路:回溯,一个个放入符合条件则输出,不符合则重新赋值,和一个原理#include <stdio.h>int f(in原创 2021-06-01 20:42:38 · 3325 阅读 · 1 评论 -
完美数
题目描述任何一个自然数的约数中都有1和它本身,我们把小于它本身的因数叫做这个自然数的真约数。 如6的所有真约数是1、2、3,而且6=1+2+3。像这样,一个数所有真约数的和正好等于这个数,通常把这个数叫做完美数。 古希腊人非常重视完美数。毕达哥拉斯发现它之后,人们就开始了对完美数的研究。 现在要求输出所有在m和n范围内的完美数。输入输入数据有多组,每组占一行,包括两个整数m和n(1≤m, n≤99999999)。 输入以0 0结束输出对于每个测试实例,要求输出所有在给定范围内的完美数,就原创 2021-05-31 15:09:15 · 623 阅读 · 0 评论 -
约瑟夫环问题(数组)
题目描述约瑟夫环问题:设有n(n≤1000)个人围坐一圈,并按顺时针方向1—n编号。从第s个人开始进行报数,报数到第m个人,此人出圈,再从他的下一个人重新开始从1到m的报数进行下去 ,直到只剩一个人为止。输入人数n最先开始报数的那个人的编号s报到第几个数m输出剩下的最后一个人的编号样例输入9 1 3样例输出1#include <stdio.h>int main(){ int a[1001]; int n, start, m; int k原创 2021-05-28 17:05:52 · 1364 阅读 · 0 评论 -
报数
题目描述N个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。(n为16位)输入每行为一个整数n。有多组测试数据,直到输入文件结束。输出输出最后留下来的那位的号码。样例输入8样例输出7思路:1,从1到n不断循环数组。2,将能整除3的位置赋值为0,下次遇到0时直接跳过不报数。3,记录被赋值为0的位置,当n-1个位置被赋值为0,则只剩下最后一个人。#include <stdio.h>原创 2021-05-28 16:19:39 · 278 阅读 · 0 评论 -
又要数数小绵羊
题目描述人与龙和谐相处的博克岛上正在举办喜羊羊版的魁地奇,龙骑士们通过抓羊和把羊投入篮筐来得分,如果能抓到皮肤黝黑的沸羊羊还能获得额外的分数奖励。当然,如果比分这样算就太没意思了,现在规定一种新的得分机制:假设篮筐中黑羊为a只,白羊为b只,那他们的得分就是a,b之间(不含a,b)所有素数的和。由于数字可能比较大,现邀你来完成最后得分的计算。输入有多组测试样例,输入直到文件末尾。每组样例占一行,a b (0<=a,b<=65536)输出对每组样例输出占一行,输出内容为a,.原创 2021-05-25 18:22:43 · 1096 阅读 · 0 评论 -
伯努利装错信封问题
题目描述 某人写了n封信,同时为每一封信写1个信封,共n个信封。如果把所有的信都装错了信封,问共有多少种?(这是组合数学中有名的错位问题。著名数学家伯努利(Bernoulli)曾最先考虑此题。后来,欧拉对此题产生了兴趣,称此题是“组合理论的一个妙题”,独立地解出了此题) 试编程求出完全装错情形的所有方式及其总量s。例如,输入n=3,即有3封信需要装入信封,完全装错的一种方式可以表示为312,表示第1封信装入第3个信封,第2封信装入第1个信封,第3封信装入第2个信封。对于n=3,完全装错的...原创 2021-05-25 00:57:24 · 5827 阅读 · 3 评论 -
C语言指针进阶,数组指针,指针数组,函数指针
数组指针:数组指针的意思:指向数组的指针。这里的数组指针的解释:1,指向num这个数组。2,该数组中有5个元素。3,该数组中元素的类型是int。注意:&arr是数组的地址,它的类型是int (*)[5],而arr是该数组的首地址,类型是int *,所以这里如果用int (*p)[5]=arr;是错误的。 但你会发现&arr和arr打印出来的值是一样的。但如果数组地址加1则直接跳过该数组,而数组的首地址加1则是跳到下一个元素。#include <...原创 2021-05-21 19:14:22 · 181 阅读 · 0 评论 -
字母重排
题目描述:输入一个字典(用******结尾),然后再输入若干单词。每输入一个单词w,你都需要在字典中找出所有可以用w的字母重排后得到的单词,并按照字典序(按字母a~z)从小到大的顺序在一行中输出,如果不存在就输出:(。输入单词之间用空格或空行隔开,且所有输入单词都由不超过6个小写字母组成)。注意,字典中的单词不一定按字典序排列。输入:输入一行字典,即很多单词(相当于自定义),再输入一行结束标记******,最后输入若干单词(可能有多行,在一行中的单词之间用空格间隔),直至文件结束输出:在原创 2021-05-20 21:01:32 · 858 阅读 · 0 评论