当前位置:首页 » 编程语言 » 方格填数蓝桥杯c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

方格填数蓝桥杯c语言

发布时间: 2022-07-17 17:41:02

A. 蓝桥杯c语言题目

#include<stdio.h>
int main(){
char code[]={'Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y'};
char num[10];
int sgln=0,sang,yu,len=0;
sang=2019/26;
yu=2019%26;
num[len]=code[yu];
len++;
while(sang!=0){
if(sang!=0&&yu==0)
yu=(sang-1)%26;
else
yu=sang%26;
sang=sang/26;
num[len]=code[yu];
len++;
}
len--;
for(;len>=0;len--){
printf("%c",num[len]);
}
}

B. 蓝桥杯练习题c语言

(1)检查 最大值 和 最小值 的时候, 循环终止条件应该是“ i < n ; ”,你上面的代码没有对比到最后一个元素啊!
(2)估计是没有对输入的值进行判断,是否合法,所以扣分了吧。比如 数组的个数 应该是 大于0 的整数吧。 然后, 要求 数组里的数的绝对值都小于10000,也应该需要 判断一下吧。

如有帮助,烦请点采纳,谢谢!

C. 蓝桥杯填空题 求C语言大神带飞。 解答解释一下

括号里填这个:f(x,y+1),f(x+1,y) 或 f(x+1,y),f(x,y+1)

D. 蓝桥杯省赛(C语言)一般考什么

还是跟选拔赛一样的题型
考的是算法类的题目

E. C语言题(方格取数)

/*
方格取数(grid.cpp)

问题描述:

给一个n行m列的网格,每个格子里都有一个整数(正负任意),每一步只能向下或向右:
向下一次只能走一格;但是如果向右走,则每次可以走一格或者走到该行的列数是当前所在列数倍数的格子,
即:如果当前格子是(x,y),下一步可以是(x+1,y),(x,y+1)或者(x,y*k) 其中k>1。
编程计算从左上角(1,1)走到右下角(n,m)所经过的格子的数字和的最大值。

输入格式:

第一行为两个整数n和m(1≤n≤20,10≤m≤1000),表示网格大小;
接下来n行,每行m个整数,表示对应格子里的整数ti(|ti|<100)。

输出格式:

仅一个整数,表示最大和值。
Author:Im_hear
*/
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;

int N,M;
int map[21][1001]={0};
int ans[21][1001]={0};
int factor[1001][33]={0};
int fun(int row);
int init(int row);

int main()
{
int x,y;
scanf("%d%d",&N,&M);
init(N);
for(x=1;x<=N;++x){
for(y=1;y<=M;++y){
scanf("%d",&map[x][y]);
}
}
for(x=1;x<=N;++x){
//理解为输入的矩阵只有一行
fun(x);
}
printf("%d\n",ans[N][M]);
return 0;
}

/*将第row行每个位置能达到的最大值记录到ans[row][]行中*/
int fun(int row)
{
int i,index,y,step=1,maxPre,iCount;
int temp = 0;
//第一列只能从上行过来
ans[row][1] = ans[row-1][1] + map[row][1];
for(y=2;y<=M;++y){
//假设从左边过来时,累加的值最大
maxPre = ans[row][y-1];
if(row>1 && ans[row-1][y]>maxPre){
//假设从上边过来时,累加的值最大
maxPre = ans[row-1][y];
}
//取得y的因数个数
iCount = factor[row][0];
for(i=1;i<=iCount;++i){
//取得y的第i个因数
index = factor[row][i];
//比原先更好的路线,从(row,factor[row][i])位置过来
if(ans[row][index] > maxPre){
maxPre = ans[row][index];
}
}
//更新当前位置的最大累计值
ans[row][y] = maxPre + map[row][y];
}
/*
//去掉注释可以看到每行的变化
for(y=1;y<=M;++y){
printf("%3d, ",ans[row][y]);
}
printf("\n");
*/
return 0;
}

/*储存1000内每个数的因数*/
int init(int row)
{
int x,y,icount,step;
factor[1][1] = 1;
for(x=2;x<=row;++x){
icount=1;
//x是奇数时,因数都是奇数,步长可设为2
step = x&1?2:1;
y = x&1?1:2;
for(;y<=x/2;y+=step){
if(x%y == 0){
factor[x][icount++] = y;
}
}
factor[x][0] = icount-1;
}
return 0;
}

F. 九届蓝桥杯题目C语言求解

#include<stdio.h>
voidmain(){
inti,n=0,s=0;
for(i=1;s<=108;i+=2)
{s+=i;n++;}
printf("%d",n);
}

运行结果:

即小明在第11天就能凑够108元,返回地球

G. C语言蓝桥杯的题目,求帮助

看完题目才发现原来你只想问一下后面的数据规模。。。。
这个意思就是,你的程序提交上去之后会有很多组测试数据,然后它告诉了你,如果你想要通过X%的数据测试,需要将相应的n和Hi考虑到这么大,数据量过大之后,可能会发生超内存,超时,或者数组无法开到这么大的情况,需要考虑的问题就变得更多了,所以,数据越大,数据量越大,题目的难度就越大。

H. 蓝桥杯五角星算式,请用C语言

乱写了一个,自己整理一下就可以了。

#include<stdio.h>
#defineM9
intpermutation(int*a,intk);
intmain()
{
inta[M]={1,2,3,4,5,6,7,8,9};
intcount;

count=permutation(a,0);
printf("=============== total:%d ",count);
return0;
}
intpermutation(int*a,intk)
{
staticintcount=0;
inti,j,tmp;
if(k==M){
if(a[0]*100+a[1]*10+a[2]+
a[3]*100+a[4]*10+a[5]==
a[6]*100+a[7]*10+a[8]){
printf("%d+%d=%d ",
a[0]*100+a[1]*10+a[2],
a[3]*100+a[4]*10+a[5],
a[6]*100+a[7]*10+a[8]);
count++;
}

}else{
for(j=k;j<=M;j++){
tmp=a[j];
a[j]=a[k];
a[k]=tmp;
permutation(a,k+1);
tmp=a[j];
a[j]=a[k];
a[k]=tmp;
}
}
returncount;
}

输出


124+659=783
125+739=864
127+359=486
127+368=495
128+439=567
128+367=495
129+438=567
129+654=783
129+735=864
129+357=486
134+658=792
135+729=864
138+429=567
138+654=792
139+428=567
139+725=864
143+586=729
142+596=738
142+695=837
145+692=837
146+583=729
146+592=738
154+629=783
154+638=792
154+782=936
152+487=639
152+784=936
157+482=639
157+329=486
158+634=792
159+624=783
159+327=486
163+782=945
162+387=549
162+783=945
167+328=495
167+382=549
168+327=495
173+286=459
173+295=468
175+293=468
176+283=459
183+492=675
183+546=729
183+762=945
183+276=459
184+392=576
184+752=936
186+543=729
186+273=459
187+452=639
187+362=549
182+457=639
182+493=675
182+754=936
182+763=945
182+367=549
182+394=576
193+482=675
193+275=468
194+382=576
195+642=837
195+273=468
196+542=738
192+483=675
192+546=738
192+645=837
192+384=576
214+569=783
214+659=873
215+478=693
215+748=963
216+378=594
216+738=954
218+475=693
218+439=657
218+745=963
218+736=954
218+376=594
218+349=567
219+438=657
219+564=783
219+654=873
219+348=567
234+657=891
235+746=981
236+718=954
236+745=981
237+654=891
238+419=657
238+716=954
239+418=657
243+576=819
243+675=918
241+596=837
245+673=918
245+736=981
245+718=963
246+573=819
246+591=837
246+735=981
248+715=963
248+319=567
249+318=567
254+619=873
254+637=891
251+397=648
257+634=891
257+391=648
259+614=873
264+519=783
269+514=783
273+546=819
273+591=864
273+645=918
273+681=954
273+186=459
273+195=468
275+418=693
275+643=918
275+193=468
276+543=819
276+318=594
276+183=459
271+593=864
271+683=954
278+415=693
278+316=594
283+671=954
283+176=459
284+391=675
286+173=459
281+673=954
281+394=675
293+571=864
293+175=468
294+381=675
295+173=468
296+541=837
297+351=648
291+546=837
291+573=864
291+357=648
291+384=675
324+567=891
324+657=981
327+564=891
327+519=846
327+654=981
327+618=945
327+159=486
327+168=495
328+617=945
328+167=495
329+517=846
329+157=486
314+658=972
316+278=594
317+529=846
317+628=945
318+654=972
318+627=945
318+276=594
318+249=567
319+527=846
319+248=567
341+586=927
342+576=918
346+572=918
346+581=927
348+219=567
349+218=567
351+297=648
354+627=981
354+618=972
352+467=819
357+462=819
357+291=648
357+624=981
357+129=486
358+614=972
359+127=486
364+527=891
362+457=819
362+187=549
367+452=819
367+524=891
367+128=495
367+182=549
368+127=495
376+542=918
376+218=594
372+546=918
378+216=594
381+546=927
381+294=675
384+192=576
384+291=675
386+541=927
387+162=549
382+167=549
382+194=576
391+257=648
391+284=675
394+182=576
394+281=675
397+251=648
392+184=576
428+139=567
429+138=567
438+129=567
438+219=657
439+128=567
439+218=657
415+278=693
418+275=693
418+239=657
419+238=657
452+187=639
452+367=819
457+182=639
457+362=819
462+357=819
467+352=819
475+218=693
478+215=693
483+192=675
487+152=639
482+157=639
482+193=675
493+182=675
492+183=675
524+367=891
527+319=846
527+364=891
529+317=846
543+276=819
543+186=729
542+376=918
542+196=738
541+296=837
541+386=927
546+273=819
546+291=837
546+183=729
546+192=738
546+372=918
546+381=927
514+269=783
517+329=846
519+264=783
519+327=846
564+327=891
564+219=783
567+324=891
569+214=783
573+246=819
573+291=864
571+293=864
576+342=918
576+243=819
572+346=918
583+146=729
581+346=927
586+143=729
586+341=927
593+271=864
591+273=864
591+246=837
596+142=738
596+241=837
592+146=738
624+357=981
624+159=783
627+354=981
627+318=945
628+317=945
629+154=783
634+257=891
634+158=792
637+254=891
638+154=792
643+275=918
642+195=837
645+273=918
645+192=837
654+327=981
654+318=972
654+237=891
654+219=873
654+129=783
654+138=792
657+234=891
657+324=981
658+134=792
658+314=972
659+214=873
659+124=783
614+358=972
614+259=873
617+328=945
618+354=972
618+327=945
619+254=873
673+245=918
673+281=954
675+243=918
671+283=954
683+271=954
681+273=954
695+142=837
692+145=837
725+139=864
729+135=864
735+246=981
735+129=864
736+245=981
736+218=954
738+216=954
739+125=864
745+236=981
745+218=963
746+235=981
748+215=963
754+182=936
752+184=936
763+182=945
762+183=945
715+248=963
716+238=954
718+245=963
718+236=954
783+162=945
784+152=936
782+154=936
782+163=945
===============
total: 336

I. C语言填幻方(不要穷举,要详细讲解)

下面的够详细了吧

奇阶幻方
当n为奇数时,我们称幻方为奇阶幻方。可以用Merzirac法与loubere法实现,根据我的研究,发现用国际象棋之马步也可构造出更为神奇的奇幻方,故命名为horse法。
偶阶幻方
当n为偶数时,我们称幻方为偶阶幻方。当n可以被4整除时,我们称该偶阶幻方为双偶幻方;当n不可被4整除时,我们称该偶阶幻方为单偶幻方。可用了Hire法、 Strachey以及YinMagic将其实现,Strachey为单偶模型,我对双偶(4m阶)进行了重新修改,制作了另一个可行的数学模型,称之为 Spring。YinMagic是我于2002年设计的模型,他可以生成任意的偶阶幻方。
在填幻方前我们做如下约定:如填定数字超出幻方格范围,则把幻方看成是可以无限伸展的图形,如下图:
Merzirac法生成奇阶幻方
在第一行居中的方格内放1,依次向左上方填入2、3、4…,如果左上方已有数字,则向下移一格继续填写。如下图用Merziral法生成的5阶幻方:
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9

loubere法生成奇阶幻方
在居中的方格向上一格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向上移二格继续填写。如下图用Louberel法生成的7阶幻方:
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20

horse法生成奇阶幻方
先在任意一格内放入1。向左走1步,并下走2步放入2(称为马步),向左走1步,并下走2步放入3,依次类推放到n。在n的下方放入n+1(称为跳步),再按上述方法放置到2n,在2n的下边放入2n+1。如下图用Horse法生成的5阶幻方:
77 58 39 20 1 72 53 34 15
6 68 49 30 11 73 63 44 25
16 78 59 40 21 2 64 54 35
26 7 69 50 31 12 74 55 45
36 17 79 60 41 22 3 65 46
37 27 8 70 51 32 13 75 56
47 28 18 80 61 42 23 4 66
57 38 19 9 71 52 33 14 76
67 48 29 10 81 62 43 24 5

一般的,令矩阵[1,1]为向右走一步,向上走一步,[-1,0]为向左走一步。则马步可以表示为2X+Y,{X∈{[1,0], [-1,0]},Y∈{[0,1], [0,-1]}}∪{Y∈{[1,0], [-1,0]},X∈{[0,1], [0,-1]}}。对于2X+Y相应的跳步可以为2Y,-Y,X,-Y,X,3X,3X+3Y。上面的的是X型跳步。Horse法生成的幻方为魔鬼幻方。
Hire法生成偶阶幻方
将n阶幻方看作一个矩阵,记为A,其中的第i行j列方格内的数字记为a(i,j)。在A内两对角线上填写1、2、3、……、n,各行再填写1、2、3、……、n,使各行各列数字之和为n*(n+1)/2。填写方法为:第1行从n到1填写,从第2行到第n/2行按从1到进行填写(第2行第1列填n,第2行第n列填1),从第n/2+1到第n行按n到1进行填写,对角线的方格内数字不变。如下所示为6 阶填写方法:
1 5 4 3 2 6
6 2 3 4 5 1
1 2 3 4 5 6
6 5 3 4 2 1
6 2 4 3 5 1
1 5 4 3 2 6

如下所示为8阶填写方法(转置以后):
1 8 1 1 8 8 8 1
7 2 2 2 7 7 2 7
6 3 3 3 6 3 6 6
5 4 4 4 4 5 5 5
4 5 5 5 5 4 4 4
3 6 6 6 3 6 3 3
2 7 7 7 2 2 7 2
8 1 8 8 1 1 1 8

将A上所有数字分别按如下算法计算,得到B,其中b(i,j)=n×(a(i,j)-1)。则AT+B为目标幻方
(AT为A的转置矩阵)。如下图用Hire法生成的8阶幻方:
1 63 6 5 60 59 58 8
56 10 11 12 53 54 15 49
41 18 19 20 45 22 47 48
33 26 27 28 29 38 39 40
32 39 38 36 37 27 26 25
24 47 43 45 20 46 18 17
16 50 54 53 12 11 55 9
57 7 62 61 4 3 2 64

Strachey法生成单偶幻方
将n阶单偶幻方表示为4m+2阶幻方。将其等分为四分,成为如下图所示A、B、C、D四个2m+1阶奇数幻方。
A C
D B
A用1至2m+1填写成(2m+1)2阶幻方;B用(2m+1)2+1至2*(2m+1)2填写成2m+1阶幻方;C用2*(2m+1)2+1至3*(2m+1)2填写成2m+1阶幻方;D用3*(2m+1)2+1至4*(2m+1)2填写成 2m+1阶幻方;在A中间一行取m个小格,其中1格为该行居中1小格,另外m-1个小格任意,其他行左侧边缘取m列,将其与D相应方格内交换;B与C接近右侧m-1列相互交换。如下图用Strachey法生成的6阶幻方:
35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11

Spring法生成以偶幻方
将n阶双偶幻方表示为4m阶幻方。将n阶幻方看作一个矩阵,记为A,其中的第i行j列方格内的数字记为a(i,j)。
先令a(i,j)=(i-1)*n+j,即第一行从左到可分别填写1、2、3、……、n;即第二行从左到可分别填写n+1、n+2、n+3、……、2n;…………之后进行对角交换。对角交换有两种方法:
方法一;将左上区域i+j为偶数的与幻方内以中心点为对称点的右下角对角数字进行交换;将右上区域i+j为奇数的与幻方内以中心点为对称点的左下角对角数字进行交换。(保证不同时为奇或偶即可。)
方法二;将幻方等分成m*m个4阶幻方,将各4阶幻方中对角线上的方格内数字与n阶幻方内以中心点为对称点的对角数字进行交换。
如下图用Spring法生成的4阶幻方:
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

YinMagic构造偶阶幻方
先构造n-2幻方,之后将其中的数字全部加上2n-2,放于n阶幻方中间,再用本方法将边缘数字填写完毕。本方法适用于n>4的所有幻方,我于2002年12月31日构造的数学模型。YinMagic法可生成6阶以上的偶幻方。如下图用 YinMagic法生成的6阶幻方:
10 1 34 33 5 28
29 23 22 11 18 8
30 12 17 24 21 7
2 26 19 14 15 35
31 13 16 25 20 6
9 36 3 4 32 27

魔鬼幻方
如将幻方看成是无限伸展的图形,则任何一个相邻的n*n方格内的数字都可以组成一个幻方。则称该幻方为魔鬼幻方。
用我研究的Horse法构造的幻方是魔鬼幻方。如下的幻方更是魔鬼幻方,因为对于任意四个在两行两列上的数字,他们的和都是34。此幻方可用YinMagic方法生成。
15 10 3 6
4 5 16 9
14 11 2 7
1 8 13 12
罗伯法:
1居上行正中央,依次排开右上方。
右出格时写最左,上出格时写最下.
每逢几个落一行.(几个是几*几的方阵中的几)

J. C语言去年蓝桥杯的题目,求思路

概率~~
把绳子拿在手中,一边有一百个绳头,先随机拿左边的绳头,再随机拿右边的绳头,两个连接。
左边的概率是1/100 右边的是1/100
左*右 得 1/10000
当然了 ,这是不可能的!