当前位置: 首页 > news >正文

【算法】刷题记录

计划:从15年校内选拔C-A逐渐开始刷

15年-C1
二项式的系数规律,我国数学家很早就发现了。

如【图1.png】,我国南宋数学家杨辉1261年所著的《详解九章算法》一书里就出现了。

其排列规律:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1

如下的程序,用来建立N行的杨辉三角形。请填写划线部分缺少的代码。

注意:只填写划线部分的代码,不要填写任何多余的内容。

#define N 8
int main()
{
   
	int a[N][N];
	int i,j;
	
	for(i=0; i<N; i++){
   
		a[i][0] = 1;
		a[i][i] = 1;
	}
	
	for(i=1; i<N; i++){
   
		for(j=1; j<i; j++)  ___________________________;
	}
	
	填空答案:
	a[i][j]=a[i-1][j-1]+a[i-1][j];
	
	for(i=0; i<N; i++){
   
		for(j=0; j<=i; j++)	printf("%-5d", a[i][j]);
		printf("\n");
	}
	
	return 0;
}

15年-C2
1/1 + 1/2 + 1/3 + 1/4 + … 在数学上称为调和级数。

它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。

但是,它发散的很慢:

前1项和达到 1.0
前4项和才超过 2.0
前83项的和才超过 5.0

那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?

请填写这个整数。

注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。
用程序跑一下便知。。。


C3
有如下的加法算式。其中每个汉字代表一个数字。
(如果存在对齐问题,可参见【图1.png】)

               年
             大年
           过大年
         能过大年
       怎能过大年
     我怎能过大年
+  让我怎能过大年
------------------
   能能能能能能能

请填写“让我怎能过大年” 所代表的整数。
所有数字连在一起,中间不要空格。例如:“3125697”。当然,这个不是正确的答案。

注意:只填写一个整数,不要填写任何多余的内容。

暴力? 一开始想着套7层循环 但实在是感觉复杂度太高了。。。

#include<stdio.h>
int main()
{
   
	int sum;
	int i;
	int temp;
	int a,b,c,d,e,f,g;//代表每一位上的数字 
	for(i=9992299;i>=1000000;i--)
	{
   
		a = i%10;//个位
		b = i/10%10;//十位 
		c = i/100%10;//百位 
		d = i/1000%10; //千位
		e = i/10000%10;//万位
		f = i/100000%10;//十万位
		g = i/1000000%10;//百万位 
		
		//printf("%d\t%d\t%d\t%d\t%d\t%d\t%d\n",a,b,c,d,e,f,g);
		//break; 
		
		temp=d*1000000+d*100000+d*10000+d*1000+d*100+d*10+d*1; 
		//printf("%d\n",temp);
	    //break;
	    
		a=0+a*1;
		b=a+b*10;
		c=b+c*100;
		d=c+d*1000;
		e=d+e*10000; 
		f=e+f*100000;
		g=f+g*1000000;  //也可以直接g=i; 
		
		//printf("%d\t%d\t%d\t%d\t%d\t%d\t%d\n",a,b,c,d,e,f,g);
		//break; 
		
		sum=a+b+c+d+e+f+g;
		if(sum==temp)
		{
   
			printf("%d\n",i);
			break;
		}	
	}
	return 0;
}

15年-C4

1193是个素数,对它循环移位后发现:
1931,9311,3119也都是素数,这样特征的数叫:循环素数。
你能找出具有这样特征的5位数的循环素数吗?
当然,这样的数字可能有很多,请写出其中最大的一个。
注意:答案是个5位数,不要填写任何多余的内容。
我的思路:99999 ~ 11111的n的降序循环 里面套一层五次循环移位的循环 顺便判断一个函数即判断是否是素数( 模2 ~ 根号n的循环 如果都模不等于0则返回它 )然后程序结束
注意有一个难点是 循环移位

int fun(int n)
{
   
	int a = n%10;//取出最后一位  比如12345得出a=5 
	int b = n/10;//取出前面4位                b=1234
	return a*10000+b; //经典的循环返回, 5*10000+1234=51234
} 


15年-C5
把一个整数的每个数位都平方后求和,又得到一个整数,我们称这个整数为:位平方和。
对新得到的整数仍然可以继续这一运算过程。
比如,给定整数为4,则一系列的运算结果为:
16,37,58,89,…
本题的要求是,已知一个整数x,求第n步的运算结果。
数据格式要求:
输入,两个整数x n,中间以空格分开。表示求x的第n步位平方和。其中,x,n都大于0,且小于100000。
输出,一个整数,表示所求结果。
例如,
输入:
4 3
则程序应该输出:
58
再例如,
输入:
1314 10
则程序应该输出:
20
资源约定:
峰值内存消耗 < 256M
CPU消耗 < 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意: main函数需要返回0
注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。
提交时,注意选择所期望的编译器类型。

一开始被这个资源约定的限制吓到了,但实则就是一个很基础的题目

#include<stdio.h>
//传入一个数计算各位上数字的平方然后求他们位之和 
int fun(int n)
{
   
	int res

相关文章:

  • 基于Geotools的PostGIS原始操作之CQL过滤及按属性名称生成面属性时间-以湖北省地级市行政区划为例
  • OpenCV直方图均衡化全面解析:从灰度到彩色图像的增强技术
  • python: range和arange区别
  • 智能合约安全审计平台——形式化验证模型构建
  • QPS是什么??
  • 组件安全工程化革命:从防御体系构建到安全基因重塑
  • 各地物价和生活成本 东欧篇
  • 【Code】《代码整洁之道》笔记-Chapter15-JUnit内幕
  • 使用人工智能大模型腾讯元宝,如何做课题研究?
  • Redis 常见的集群架构
  • 基于SpringBoot的社区老人健康信息管理系统(源码+数据库+万字文档)
  • 用AI直接生成架构图的初步探索
  • 电商中的订单支付(内网穿透)
  • python ftplib 上传文件名 乱码的解决办法
  • 网络入侵检测Suricat之流(flow)检测
  • 安卓性能调优之-掉帧测试
  • 第十九讲延续 简单理解什么是XGboost模型
  • sqlalchemy orm查询语法与多对多外键关系relationship使用
  • Redis高频面试题(含答案)
  • 嵌入式C语言 - 计算机存储体系与32位CPU寻址能力解析
  • 人民日报仲音:大力纠治违规吃喝顽瘴痼疾
  • 俄乌拟在土耳其举行会谈,特朗普:我可能飞过去
  • 季后赛主场优势消失之谜,这事竟然要赖库里
  • 打击网络谣言、共建清朗家园,中国互联网联合辟谣平台2025年4月辟谣榜
  • 深入贯彻中央八项规定精神学习教育中央指导组完成进驻
  • 体坛联播|穆勒主场完成拜仁谢幕战,山西车队再登环塔拉力赛