有人說(手動(dòng)@老組長)我上篇簡書是混次數(shù)的,
我的回答是:“不”
因?yàn)椤@篇才是捕仔。
其實(shí)前幾天就在準(zhǔn)備決賽了匕积!
自信嗎盈罐?還是自負(fù)?
emmm闪唆。哲學(xué)問題盅粪!
當(dāng)然了,
就做了幾道往年的決賽真(水)題悄蕾,
跟真正的大佬差的很遠(yuǎn)票顾!
這幾天做的代碼粘一下吧!
混篇簡書帆调。
//標(biāo)題:方格填數(shù)
//在2行5列的格子中填入1到10的數(shù)字奠骄。
//要求:
//相鄰的格子中的數(shù),右邊的大于左邊的番刊,下邊的大于上邊的含鳞。
//如【圖1.png】所示的2種,就是合格的填法芹务。
//請(qǐng)你計(jì)算一共有多少種可能的方案蝉绷。
//請(qǐng)?zhí)峤辉撜麛?shù),不要填寫任何多余的內(nèi)容(例如:說明性文字)枣抱。
public class 第六屆C++A組第一題方格填數(shù) {
public static int a[]= {1,2,3,4,5,6,7,8,9,10};
public static void f(int a[],int k)
{
if(k==10)
{
check(a);
return;
}
for(int i=k;i<10;i++)
{
int t=a[k];a[k]=a[i];a[i]=t;
f(a,k+1);
t=a[k];a[k]=a[i];a[i]=t;
}
}
public static void check(int a[])
{
if(a[0]<a[1]&&a[1]<a[2]&&a[2]<a[3]&&a[3]<a[4]&&
a[5]<a[6]&&a[6]<a[7]&&a[7]<a[8]&&a[8]<a[9]&&
a[0]<a[5]&&a[1]<a[6]&&a[2]<a[7]&&a[3]<a[8]&&a[4]<a[9])
{
ans++;
}
}
static int ans=0;
public static void main(String[] args) {
f(a,0);
System.out.println(ans);
}
}
//標(biāo)題:積分之迷
//小明開了個(gè)網(wǎng)上商店熔吗,賣風(fēng)鈴。共有3個(gè)品牌:A佳晶,B桅狠,C。
//為了促銷轿秧,每件商品都會(huì)返固定的積分垂攘。
//小明開業(yè)第一天收到了三筆訂單:
//第一筆:3個(gè)A + 7個(gè)B + 1個(gè)C,共返積分:315
//第二筆:4個(gè)A + 10個(gè)B + 1個(gè)C淤刃,共返積分:420
//第三筆:A + B + C晒他,共返積分....
//你能算出第三筆訂單需要返積分多少嗎?
//請(qǐng)?zhí)峤辉撜麛?shù)逸贾,不要填寫任何多余的內(nèi)容陨仅。
public class 第六屆C++B組積分之謎 {
public static void main(String[] args) {
for(int a=0;a<100;a++)
{
for(int b=0;b<100;b++)
{
for(int c=0;c<100;c++)
{
if(3*a+7*b+c==315&&4*a+10*b+c==420)
{
System.out.println(a+b+c);
}
}
}
}
}
}
//標(biāo)題:胡同門牌號(hào)
//小明家住在一條胡同里。胡同里的門牌號(hào)都是連續(xù)的正整數(shù)铝侵,由于歷史原因灼伤,最小的號(hào)碼并不是從1開始排的。
//有一天小明突然發(fā)現(xiàn)了有趣的事情:
//如果除去小明家不算咪鲜,胡同里的其它門牌號(hào)加起來狐赡,剛好是100!
//并且疟丙,小明家的門牌號(hào)剛好等于胡同里其它住戶的個(gè)數(shù)颖侄!
//請(qǐng)你根據(jù)這些信息鸟雏,推算小明家的門牌號(hào)是多少?
//請(qǐng)?zhí)峤辉撜麛?shù)览祖,不要填寫任何多余的內(nèi)容或說明性文字孝鹊。
public class 第六屆javaA組胡同門牌號(hào) {
static void f(int x)
{
for(int i=1;i<x+1;i++)
{
int count=0;
for(int j=i;j<i+x+1;j++)
{
count+=j;
}
if(count==100+x)
{
System.out.println(x);
}
}
}
public static void main(String[] args) {
for(int x=1;x<50;x++)
{
f(x);
//8 or 10
}
}
}
//標(biāo)題:分機(jī)號(hào)
//X老板脾氣古怪,他們公司的電話分機(jī)號(hào)都是3位數(shù)展蒂,老板規(guī)定又活,所有號(hào)碼必須是降序排列,且不能有重復(fù)的數(shù)位锰悼。比如:
//751,520,321 都滿足要求柳骄,而,
//766,918,201 就不符合要求箕般。
//現(xiàn)在請(qǐng)你計(jì)算一下耐薯,按照這樣的規(guī)定,一共有多少個(gè)可用的3位分機(jī)號(hào)碼隘世?
//請(qǐng)直接提交該數(shù)字,不要填寫任何多余的內(nèi)容鸠踪。
public class 六JavaB分機(jī)號(hào) {
static int ans=0;
public static void main(String[] args) {
for(int i=2;i<10;i++)
{
for(int j=i-1;j>=1;j--)
{
for(int k=j-1;k>=0;k--)
{
System.out.println(i*100+j*10+k);
ans++;
}
}
}
System.out.println(ans);
}
}
//標(biāo)題:機(jī)器人數(shù)目
//少年宮新近郵購了小機(jī)器人配件丙者,共有3類,其中营密,
//A類含有:8個(gè)輪子械媒,1個(gè)傳感器
//B類含有: 6個(gè)輪子,3個(gè)傳感器
//C類含有:4個(gè)輪子评汰,4個(gè)傳感器
//他們一共訂購了100套機(jī)器人纷捞,收到了輪子600個(gè),傳感器280個(gè)被去。
//根據(jù)這些信息請(qǐng)你計(jì)算:B類型機(jī)器人訂購了多少個(gè)主儡?
//請(qǐng)直接提交該整數(shù),不要填寫任何多余內(nèi)容惨缆。
public class 六JavaC機(jī)器人數(shù)目 {
public static void main(String[] args) {
for(int i=0;i<101;i++)
{
for(int j=0;j<101;j++)
{
for(int k=0;k<101;k++)
{
if((i*8+j*6+k*4)==600&&(i*1+j*3+k*4)==280&&i+j+k==100)
{
System.out.println(j);
}
}
}
}
}
}
//隨意組合
//小明被綁架到X星球的巫師W那里糜值。
//其時(shí),W正在玩弄兩組數(shù)據(jù) (2 3 5 8) 和 (1 4 6 7)
//他命令小明從一組數(shù)據(jù)中分別取數(shù)與另一組中的數(shù)配對(duì)坯墨,共配成4對(duì)(組中的每個(gè)數(shù)必被用到)寂汇。
//小明的配法是:{(8,7),(5,6),(3,4),(2,1)}
//巫師凝視片刻,突然說這個(gè)配法太棒了捣染!
//因?yàn)椋?/p>
//每個(gè)配對(duì)中的數(shù)字組成兩位數(shù)骄瓣,求平方和,無論正倒耍攘,居然相等:
//87^2 + 56^2 + 34^2 + 21^2? =? 12302
//78^2 + 65^2 + 43^2 + 12^2? =? 12302
//小明想了想說:“這有什么奇怪呢榕栏,我們地球人都知道畔勤,隨便配配也可以啊臼膏!”
//{(8,6),(5,4),(3,1),(2,7)}
//86^2 + 54^2 + 31^2 + 27^2 = 12002
//68^2 + 45^2 + 13^2 + 72^2 = 12002
//巫師頓時(shí)凌亂了硼被。。渗磅。嚷硫。。
//請(qǐng)你計(jì)算一下始鱼,包括上邊給出的兩種配法仔掸,巫師的兩組數(shù)據(jù)一共有多少種配對(duì)方案具有該特征。
//配對(duì)方案計(jì)數(shù)時(shí)医清,不考慮配對(duì)的出現(xiàn)次序起暮。
//就是說:
//{(8,7),(5,6),(3,4),(2,1)}
//與
//{(5,6),(8,7),(3,4),(2,1)}
//是同一種方案。
//注意:需要提交的是一個(gè)整數(shù)会烙,不要填寫任何多余內(nèi)容(比如负懦,解釋說明文字等)
public class 七C語言A隨意組合 {
public static int a[]= {2,3,5,8};
public static int b[]= {1,4,6,7};
public static int count=0;
public static void f(int b[],int k){
if(k==4){
check(b);
return;
}
for(int i=k;i<b.length;i++){
int t=b[k];b[k]=b[i];b[i]=t;
f(b,k+1);
t=b[k];b[k]=b[i];b[i]=t;
}
}
public static void check(int b[]){
int m=(a[0]*10+b[0])*(a[0]*10+b[0])+(a[1]*10+b[1])*(a[1]*10+b[1])+(a[2]*10+b[2])*(a[2]*10+b[2])+(a[3]*10+b[3])*(a[3]*10+b[3]);
int n=(b[0]*10+a[0])*(b[0]*10+a[0])+(b[1]*10+a[1])*(b[1]*10+a[1])+(b[2]*10+a[2])*(b[2]*10+a[2])+(b[3]*10+a[3])*(b[3]*10+a[3]);
if(m==n)
count++;
}
public static void main(String[] args) {
f(b,0);
System.out.println(count);
}
}
//一步之遙
//從昏迷中醒來,小明發(fā)現(xiàn)自己被關(guān)在X星球的廢礦車?yán)铩?/p>
//礦車停在平直的廢棄的軌道上柏腻。
//他的面前是兩個(gè)按鈕纸厉,分別寫著“F”和“B”。
//小明突然記起來五嫂,這兩個(gè)按鈕可以控制礦車在軌道上前進(jìn)和后退颗品。
//按F,會(huì)前進(jìn)97米沃缘。按B會(huì)后退127米躯枢。
//透過昏暗的燈光,小明看到自己前方1米遠(yuǎn)正好有個(gè)監(jiān)控探頭槐臀。
//他必須設(shè)法使得礦車正好停在攝像頭的下方锄蹂,才有機(jī)會(huì)爭取同伴的援助。
//或許水慨,通過多次操作F和B可以辦到败匹。
//礦車上的動(dòng)力已經(jīng)不太足,黃色的警示燈在默默閃爍...
//每次進(jìn)行 F 或 B 操作都會(huì)消耗一定的能量讥巡。
//小明飛快地計(jì)算掀亩,至少要多少次操作,才能把礦車準(zhǔn)確地停在前方1米遠(yuǎn)的地方欢顷。
//請(qǐng)?zhí)顚憺榱诉_(dá)成目標(biāo)槽棍,最少需要操作的次數(shù)。
//注意,需要提交的是一個(gè)整數(shù)炼七,不要填寫任何無關(guān)內(nèi)容(比如:解釋說明等)
public class 七C語言B一步之遙 {
public static boolean check(int i,int j){
if((i*97-j*127)==1)
return true;
return false;
}
public static void main(String[] args) {
for(int i=0;i<100;i++){
for(int j=0;j<100;j++){
if(check(i,j)){
System.out.println(i+j);
}
}
}
}
}
import java.math.BigInteger;
//階乘位數(shù)
//9的階乘等于:362880
//它的二進(jìn)制表示為:1011000100110000000
//這個(gè)數(shù)字共有19位缆巧。
//請(qǐng)你計(jì)算,9999 的階乘的二進(jìn)制表示一共有多少位豌拙?
//注意:需要提交的是一個(gè)整數(shù)陕悬,不要填寫任何無關(guān)內(nèi)容(比如說明解釋等)
public class 七JavaA階乘位數(shù) {
public static void main(String[] args) {
BigInteger a=f(9999);
String n=Integer.toBinaryString(a.intValue());
System.out.println(a.bitLength());
}
public static BigInteger f(int n){
if(n>1){
return BigInteger.valueOf(n).multiply(f(n-1));
}else{
return BigInteger.ONE;
}
}
}
//憤怒小鳥
//
//X星球憤怒的小鳥喜歡撞火車!
//
//一根平直的鐵軌上兩火車間相距 1000 米
//兩火車 (不妨稱A和B) 以時(shí)速 10米/秒 相對(duì)行駛按傅。
//
//憤怒的小鳥從A車出發(fā)捉超,時(shí)速50米/秒,撞向B車唯绍,
//然后返回去撞A車拼岳,再返回去撞B車,如此往復(fù)....
//兩火車在相距1米處停車况芒。
//
//問:這期間憤怒的小鳥撞 B 車多少次惜纸?
//
//注意:需要提交的是一個(gè)整數(shù)(表示撞B車的次數(shù)),不要填寫任何其它內(nèi)容绝骚。
public class 七JavaB憤怒小鳥 {
public static void main(String[] args) {
double s=1000;
int count=0;
while(s>=1)
{
s=(s-(s/60)*20);
count++;
}
System.out.println(s+","+count);
//count表示撞擊的次數(shù)耐版,如果是奇數(shù)則答案為(count+1)/2,如果是偶數(shù)則是count/2压汪;
}
}
//平方末尾
//能夠表示為某個(gè)整數(shù)的平方的數(shù)字稱為“平方數(shù)”
//比如粪牲,25,64
//雖然無法立即說出某個(gè)數(shù)是平方數(shù),但經(jīng)扯昶牵可以斷定某個(gè)數(shù)不是平方數(shù)虑瀑。
//因?yàn)槠椒綌?shù)的末位只可能是:[0, 1, 4, 5, 6, 9] 這6個(gè)數(shù)字中的某個(gè)湿滓。
//所以滴须,4325435332必然不是平方數(shù)。
//如果給你一個(gè)2位或2位以上的數(shù)字叽奥,你能根據(jù)末位的兩位來斷定它不是平方數(shù)嗎扔水?
//請(qǐng)計(jì)算一下,一個(gè)2位以上的平方數(shù)的最后兩位有多少種可能性朝氓?
//注意:需要提交的是一個(gè)整數(shù)魔市,表示2位以上的平方數(shù)最后兩位的不同情況數(shù)。
//不要填寫任何多余內(nèi)容(比如赵哲,說明解釋文字等)
import java.util.Arrays;
public class 七JavaC平方末尾 {
static int a[]=new int [100];
static int count=1;
public static void main(String[] args) {
for(int i=10;i<100;i++)
{
a[i]=(i*i)%100;
}
Arrays.sort(a);
for(int i=0;i<99;i++)
{
if(a[i]==a[i+1])a[i]=0;
}
Arrays.sort(a);
for(int i=0;i<100;i++)
{
if(a[i]>0)//System.out.println(a[i]);
count++;
}
System.out.println(count);
}
}
import java.util.Scanner;
//標(biāo)題:36進(jìn)制
//對(duì)于16進(jìn)制待德,我們使用字母A-F來表示10及以上的數(shù)字。
//如法炮制枫夺,一直用到字母Z将宪,就可以表示36進(jìn)制。
//36進(jìn)制中,A表示10较坛,Z表示35印蔗,AA表示370
//你能算出 MANY 表示的數(shù)字用10進(jìn)制表示是多少嗎?
//請(qǐng)?zhí)峤灰粋€(gè)整數(shù),不要填寫任何多余的內(nèi)容(比如丑勤,說明文字)
public class 八C語言B36進(jìn)制 {
public static void main(String[] args) {
int sum=22*36*36*36+10*36*36+23*36+34;
System.out.println(sum);
}
}
//標(biāo)題:哥德巴赫分解
//
//哥德巴赫猜想認(rèn)為:不小于4的偶數(shù)都可以表示為兩個(gè)素?cái)?shù)的和华嘹。
//
//你不需要去證明這個(gè)定理,但可以通過計(jì)算機(jī)對(duì)有限數(shù)量的偶數(shù)進(jìn)行分解法竞,驗(yàn)證是否可行耙厚。
//
//實(shí)際上,一般一個(gè)偶數(shù)會(huì)有多種不同的分解方案爪喘,我們關(guān)心包含較小素?cái)?shù)的那個(gè)方案颜曾。
//對(duì)于給定數(shù)值范圍,我們想知道這些包含較小素?cái)?shù)方案中最大的素?cái)?shù)是多少秉剑。
//
//比如泛豪,100以內(nèi),這個(gè)數(shù)是19侦鹏,它由98的分解貢獻(xiàn)诡曙。
//
//你需要求的是10000以內(nèi),這個(gè)數(shù)是多少略水?
//
//注意价卤,需要提交的是一個(gè)整數(shù),不要填寫任何多余的內(nèi)容(比如渊涝,說明性的文字)
import java.util.Arrays;
public class 八C語言C哥德巴赫猜想 {
public static boolean zhishu(int n){
for(int i=2;i<=n/2;i++)
if(n%i==0)
return false;
return true;
}
static int z[]=new int [10001];
public static void main(String[] args) {
for(int i=4;i<=10000;i+=2){
for(int a=2;a<=(i-2);a++){
if(zhishu(a)&&zhishu(i-a)){
z[i]=a;
break;
}
}
}
Arrays.sort(z);
System.out.println(z[10000]);
}
}
//標(biāo)題:圖書排列
//將編號(hào)為1~10的10本書排放在書架上慎璧,要求編號(hào)相鄰的書不能放在相鄰的位置。
//請(qǐng)計(jì)算一共有多少種不同的排列方案跨释。
//注意胸私,需要提交的是一個(gè)整數(shù),不要填寫任何多余的內(nèi)容鳖谈。
public class 八JavaA圖書排列 {
static int a[]= {1,2,3,4,5,6,7,8,9,10};
static int ans=0;
static void f(int a[],int k)
{
if(k==10)
{
check(a);
}
for(int i=k;i<10;i++)
{
int t=a[k];a[k]=a[i];a[i]=t;
f(a,k+1);
t=a[k];a[k]=a[i];a[i]=t;
}
}
static void check(int a[])
{
for(int i=0;i<9;i++)
{
if(Math.abs(a[i]-a[i+1])==1)
{
return ;
}
}
ans++;
}
public static void main(String[] args) {
f(a,0);
System.out.println(ans);
}
}
//標(biāo)題:平方十位數(shù)
//
//由0~9這10個(gè)數(shù)字不重復(fù)岁疼、不遺漏,可以組成很多10位數(shù)字缆娃。
//這其中也有很多恰好是平方數(shù)(是某個(gè)數(shù)的平方)捷绒。
//
//比如:1026753849,就是其中最小的一個(gè)平方數(shù)贯要。
//
//請(qǐng)你找出其中最大的一個(gè)平方數(shù)是多少暖侨?
//
//注意:你需要提交的是一個(gè)10位數(shù)字,不要填寫任何多余內(nèi)容崇渗。
public class 八JavaB平方十位數(shù)
{
public static void check(long a[])
{
if(a[0]==0)return;
long x=a[0]*1000000000+a[1]*100000000+a[2]*10000000+a[3]*1000000+a[4]*100000+a[5]*10000+a[6]*1000+a[7]*100+a[8]*10+a[9];
long y=(int)(Math.sqrt(x));
if(y*y==x)
System.out.println(y+","+x);
}
public static void f(long sz[],int k)
{
if(k>=10)
{
check(sz);
return;
}
for(int j=k;j<10;j++)
{
long t;
t=sz[k];sz[k]=sz[j];sz[j]=t;
f(sz,k+1);
t=sz[k];sz[k]=sz[j];sz[j]=t;
}
}
static long sz[]= {0,1,2,3,4,5,6,7,8,9};
public static void main(String[] args) {
f(sz,0);
}
}
//標(biāo)題:數(shù)位和
//數(shù)學(xué)家高斯很小的時(shí)候就天分過人字逗。一次老師指定的算數(shù)題目是:1+2+...+100函荣。
//高斯立即做出答案:5050!
//這次你的任務(wù)是類似的。但并非是把一個(gè)個(gè)的數(shù)字加起來扳肛,而是對(duì)該數(shù)字的每一個(gè)數(shù)位作累加傻挂。
//這樣從1加到100的“和”是:901
//從10加到15是:21,也就是:1+0+1+1+1+2+1+3+1+4+1+5挖息,這個(gè)口算都可以出結(jié)果的金拒。
//按這樣的“加法”,從1加到1000是多少呢套腹? 請(qǐng)通過瀏覽器提交該結(jié)果绪抛。
//當(dāng)然,我們并不期望你能像高斯一樣电禀,發(fā)現(xiàn)數(shù)字背后深?yuàn)W的秘密幢码,只要請(qǐng)計(jì)算機(jī)幫忙,一切都easy!
//注意:你需要提交的是一個(gè)整數(shù)尖飞,不要填寫任何多余的內(nèi)容(比如:說明性文字)
public class 八JavaC數(shù)位和 {
static int ans=0;
static void f(int n)
{
do{
ans+=(n%10);
n=n/10;
}while(n>0);
}
public static void main(String[] args) {
for(int i=1;i<101;i++)
f(i);
System.out.println(ans);
}
}
emmm症副。。估計(jì)沒人能認(rèn)真看完政基。贞铣。
哈哈哈,完成目的了沮明,本周簡書+1