栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

一些数字的表达,与数学问题的C语言解法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一些数字的表达,与数学问题的C语言解法

1.一个三位数字的表达 

a*100+b*10+c

用函数将abc限制,即可拆分使用abc

for(i=1; i<=9; i++)
for(j=0; j<=9; j++)
for(k=0; k<=9; k++)  (拼接法)

但是这样还是显得麻烦,因为在一些情况中for需要与{}一同使用,而且我们还需要用语句将其合并起来

a=x/100;
b=x/10%10;
c=x%10;(分割法)

我们可以先设定这个三位数为X

即x=123.

a=x/100;           //a=1
b=x/10%10;     //b=2
c=x%10;          //c=3

2.水仙花数

水仙花数:即一个数的每一位数的立方等于和等于它本身

这种问题用笔算(数学方法)显然较困难

但是用计算机即可用这种表示

(x==a*a*a+b*b*b+c*c*c)

#include 
#include 
int main( )
{
int x, a, b, c;
for(x=100; x<=999; x++)
{
a=x/100;
b=x/10%10;
c=x%10;
if(x==a*a*a+b*b*b+c*c*c)
printf("%d ", x);
}
system("pause");
return 0;
}

3.判断一个数是否是素数

#include
#include
#include
int main()
{
	int a=0, b, c;
	scanf("%d", &a);
	c = 0;
	for ( b= 2; b<=a-1; b++)
	{
		if (a%b==0)
		{
			c++;
			printf("%d的约数有:", a);
			printf("%dn", b);
		}
		if (c == 0) {
			printf("%d是质数", a); break;
		}
	}
	return 0;

4.缺空计算

一个经典的奥赛题

 但是如果用计算机以一个重复的动作进行,可以马上就将其解出

#include 
#include 
int main()
{
	int i;
	for (i = 1; i <= 9; i++)
	{
		if ((i*10 + 3)*6528 == (30 + i)*8256)
			printf("%d", i);
	}
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/433284.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号