C语言编程学习计算——爱因斯坦数学题

C语言是面向过程的,而C++是面向对象的                                                                                                               C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!


著名的理论物理学家 阿尔伯特·爱因斯坦 (如上图)有一次对他的朋友出了一道数学问题。

题目是:有一个很长的阶梯,如果一步走2个阶梯,最后剩1个阶梯,如果一步走3个阶段,最后剩2个阶梯,如果一步走5个阶段,最后还剩4个阶梯,如果一步走7个阶梯,则刚刚好走完,请问这个阶梯一共有多少阶?

很显然这是一个数序题目,那么我们就来计算一下这个题目吧!

#include

#include

void main()

{

int i = 1; /*i为所设的阶梯数*/

system("cls");

while (!((i % 2 == 1) && (i % 3 == 2) && (i % 5 == 4) && (i % 6 == 5) && (i % 7 == 0)))

++i;

/*满足一组同余式的判别*/

printf(" >> 这个阶梯有 %d 级 ", i);

getchar();

}

结果为:

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

穷举法示例:

# include

int main(void)

{

int number;

FILE*fp;

fp = fopen("count.dat", "w");

for (number = 14; number <= 6553; number += 7)

if ((number - 1) % 2 == 0 && (number - 2) % 3 == 0 && (number - 4) % 5 == 0 && (number - 5) % 6 == 0 && number % 7 == 0)

{

printf("%d ", number);

fprintf(fp, "%d ", number);

}

fclose(fp);

return 0;

}

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

最小的结果为为119,最大值为6419,因为用穷举法的时候规定的范围是number <=6553,如果你想计算出更大的值,那么你就把范围扩大就行了,幸好有计算机而不是用人力计算,不然就有得玩了,光是那计算量就不是一时半会能做出来的!

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容