當前位置:首頁 » 編程語言 » 方格填數藍橋杯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
當然了 ,這是不可能的!