特殊数字专题

特殊数字

1.奇数

c 复制代码
代码案例:
//输出所有1-1000之间的奇数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 1000; i++)
	{
		if (i % 2 == 1)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

运行结果:

2.偶数

c 复制代码
代码案例:
//输出所有1-1000之间的偶数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 1000; i++)
	{
		if (i % 2 == 0)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

运行结果:

3.完数

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为"完全数"。先求出一个数的所有因子,之后相加,若等于此数,这个数就是完数,输出。

c 复制代码
代码案例:
//找出1000以内所有完数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	int sum = 0;
	for (i = 1; i <= 1000; i++)
	{
		sum = 0;
		for (j = 1; j < i; j++)
		{
			if (i % j == 0)
			{
				sum += j;
			}
		}
		if (sum == i)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

运行结果:

4.素数

素数 又称质数 ,是指除了1和本身之外,不能被其他数整除的一类数,反之,则称为合数

c 复制代码
代码演示:
//打印1-1000之间的素数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (i = 1; i <= 1000; i++)
	{
		for (j = 2; j < i; j++)
		{
			if (i % j == 0)
				break;
		}
		if (i == j)
			printf("%d ", i);
	}
	return 0;
}

运输结果:

5.回文数

回文数 实际上就是倒着读和正着读都一样的数.如12321,正读和倒读都是一样的,这就是回文数,也叫做逆序数

c 复制代码
//打印100-999的回文数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int i = 0;
	int g = 0;
	int b = 0;
	for (i = 100; i <= 999; i++)
	{
		b = i % 10;
		g = i / 100;
		if (b == g)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

运输结果:

6.水仙花数

"水仙花数"是指一个3位数,其各位数字立方之和等于该数本身。

例如,153是一个水仙花数,因为153=1³+5³+3³

c 复制代码
代码演示:
//输出100-999之间的水仙花数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int i = 0;
	int a = 0;
	int b = 0;
	int c = 0;
	for (i = 100; i <= 999; i++)
	{
		a = i % 10;
		b = i / 10 % 10;
		c = i / 100;
		if (a* a* a + b * b * b + c * c * c == i)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

运输结果

7.中位数

中位数是指在一组数据中,按数值大小排序后处于中间位置的数。例如:1, 5, 3 排序后为 1, 3, 5,则其中位数为 3。特别地,当数的个数 N 为偶数时,中位数取位置居中的两个数 (N/2 和 N/2+1) 的平均值,例如:1, 2, 3, 4,中位数为 (2+3)/2 = 2.5

c 复制代码
代码演示:
//中位数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void sort(int* arr, int n)
{
	int i = 0;
	int j = 0;
	for (i = 0; i < n - 1; i++)
	{
		for (j = 0; j < n - 1 - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				int temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
		}
	}
}
int main()
{
	int arr[100] = { 0 };
	int n = 0;
	int i = 0;
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf("%d", &arr[i]);
	}
	sort(arr, n);
	if (n % 2 == 1)
		printf("%d\n", arr[n / 2]);
	else
		printf("%0.2f", (arr[n / 2] + arr[n / 2] - 1));
	return 0;
}

运行结果:

9.随机数

c 复制代码
代码演示:
//生成随机数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int getRand(int min, int max)
{
	return rand() % (max - min) + min;
}
int main()
{
	int i = 0;
	srand((unsigned int) time(NULL));
	for (i = 1; i <= 100; i++)
	{
		printf("%d ", getRand(1, 100));
	}
	return 0;
}

运行结果:

10.完全平方数

c 复制代码
代码演示:
//完全平方数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int IsSquare(int n)
{
	int m = 0;
	m = (int)sqrt(n);
	if (m * m == n)
		return m;
	return n;
}
int main()
{
	int n = 0;
	int p = 0; 
	scanf("%d", &n);
	if (p = IsSquare(n))
	{
		printf("%d是完全平方数,%d=%d*%d\n", n, n, p, p);
	}
	else
	{
		printf("%d不是完全平方数\n");
	}
	return 0;
}

运行结果:

11.求年份:闰年

c 复制代码
代码演示:
//闰年
int is_leap_year(int y)
{
	if ((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0))
		return y;
	return 0;
}
int main()
{
	int year = 0;
	for (year = 1000; year <= 2000; year++)
	{
		if (is_leap_year(year))
		{
			printf("%d ", year);
		}
	}
	return 0;
}

12.求数字:两个整数的最大公约数及最小公倍数

c 复制代码
//求两个数的最大公约数和最小公倍数
int gcd(int a, int b)
{
	int t = 0;
	if (a < b)
	{
		t = a;
		a = b;
		b = t;
	}
	while (b != 0)
	{
		t = a % b;
		a = b;
		b = t;
	}
	return a;
}
int lcm(int a, int b, int c)
{
	return a * b / c;
}
int main()
{
	int x = 0;
	int y = 0;
	int a = 0;
	int b = 0;
	scanf("%d%d", &a, &b);
	x = gcd(a, b);
	y = lcm(a, b, x);
	printf("gcd=%d,lcm=%d", x, y);
	return 0;
}

运行结果:

💘本次专题已结束,不久将来会有更多专题与大家见面!!!(本专题会不断编辑增添精进内容)

相关推荐
Scott9999HH4 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
码智社5 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海5 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖6 小时前
JDK 26 新特性详解
java·开发语言
马优晨6 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区8 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大9 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai9 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
এ慕ོ冬℘゜9 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa9 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio