版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1047:語法百題親密數(shù)
時間限制:1Sec內(nèi)存限制:128MB
題目描述
兩個不同的自然數(shù)A和B,如果整數(shù)A的全部因子(包括1,不包括A本身)之和等于
B;且整數(shù)B的全部因子(包括1,不包括B本身)之和等于A,則將整數(shù)A和B稱為親密
數(shù)。求n以內(nèi)的全部親密數(shù)。
輸入
一個整數(shù)n
輸出
n以內(nèi)的全部親密數(shù)(輸出格式:(A,B),不加換行,不加分隔符號)一對親密數(shù)只輸出一
次,小的在前
樣例輸入
1000
樣例輸出
(220,284)
提示
按照親密數(shù)定義,要判斷數(shù)a是否有親密數(shù),只要計算出a的全部因子的累加和為b,
再計算b的全部因子的累加和為n,若n等于a則可判定a和b是親密數(shù)。計算數(shù)a的各因
子的算法:
用a依次對i(i=l~a/2)進行模運算,若模運算結(jié)果等于0,貝如為a的一個因子;否則i就不
是a的因子。
#include<iostream>
usingnamespacestd;
intyzh(intn)
(
inti,s=0;
for(i=l;i<n;i++)
if(n%i==0)
s+=i;
returns;
)
intmain()
(
intj,n,i;
cin>>n;
for(i=l;i<=n;i++)
if(yzh(i)<=n&&yzh(i)>i&&yzh(yzh(i))==i)
cout?zrCz?i?z/,Z,?yzh(i)?z,)z/;
)
1048:語法百題最簡真分數(shù)序列
時間限制:1Sec內(nèi)存限制:128MB
題目描述
按遞增順序依次列出所有分母為40,分子小于40的最簡分數(shù)。
輸出
分數(shù)之間用逗號分開(含最末逗號)
樣例輸出
1/40,3/40,7/40,9/40,11/40,13/40,17/40,19/40,21/40,23/40,27/40,29/40,31/40,33/40
,37/40,39/40,
提示
對分子采用窮舉法,利用最大公約數(shù)的方法,判斷分子與40是否構(gòu)成真分數(shù)。
#include<iostream>
usingnamespacestd;
boolhz(inta,intb)
(
boolf=true;
inti;
for(i=2;i<=a;i++)
if(a%i==0&&b%i==0)
f=false;
returnf;
)
intmain()
(
inti;
for(i=l;i<=40;i++)
if(hz(i,40)==true)
cout<<i?z//40,,z;
return0;
1057:語法百題哥德巴赫猜想
時間限制:1Sec內(nèi)存限制:128MB
題目描述
德國數(shù)學家哥德巴赫曾猜測:任何大于6的偶數(shù)都可以分解成兩個素數(shù)(素數(shù)對)的
和。但有些偶數(shù)可以分解成多種素數(shù)對的和,如:10=3+7,10=5+5,即10可以分解成兩
種不同的素數(shù)對
輸入
輸入任意的>6的正偶數(shù)(<32767)
輸出
試求給出的偶數(shù)可以分解成多少種不同的素數(shù)對(注:A+B與B+A認為是相同素數(shù)對)
樣例輸入
1234
樣例輸出
25
#include<iostream>
#include<math.h>
usingnamespacestd;
boolzs(intnum)
(
floata=sqrt(num);
if(num==l)
returnfalse;
for(inti=2;i<=a;i++)
(
if(num%i==0)
returnfalse;
)
returntrue;
)
intmain()
(
inti,num,sum=0;
cin?num;
for(i=2;i<=num/2;i++)
if(zs(i)&&zs(num-i))
sum++;
cout<<sum<<endl;
1058:語法百題求函數(shù)值
時間限制:1Sec內(nèi)存限制:128MB
題目描述
按如下遞歸公式求函數(shù)值。
x=l時f(x)=10;x>l時f(x)=f(x-l)+2
輸入
整型變量x
輸出
f(x)
樣例輸入
10
樣例輸出
28
#include<cstdio>
intmainO
intn;
scanf("%d",&n);
printf10+(nT)*2);
return0;
)
#include<iostream>
Sinclude<stdio.h>
usingnamespacestd;
intf(intx)
(
if(x==l)return10;
elsereturnf(x-l)+2;
)
intmainO
(
inta,o;
cin?a;
o=f(a);
printfo);
“system("pause");
return0;
)
1062:語法百題自守數(shù)問題
時間限制:1Sec內(nèi)存限制:128MB
題目描述
自守數(shù)是指一個數(shù)的平方的尾數(shù)等于該數(shù)自身的自然數(shù)。例如:25A2=625
76A2=57769376八2=87909376請求出200000以內(nèi)的自守數(shù)?
輸出
200000以內(nèi)的自守數(shù)(包括0,數(shù)之間用兩個空格分開)
提示
若采用“求出一個數(shù)的平方后再截取最后相應(yīng)位數(shù)”的方法顯然是不可取的,因為計算
機無法表示過大的整數(shù)。分析手工方式下整數(shù)平方(乘法)的計算過程,以376為例:
376被乘數(shù)
X376乘數(shù)
2256第一個部分積=被乘數(shù)*乘數(shù)的倒數(shù)第一位
2632第二個部分積=被乘數(shù)*乘數(shù)的倒數(shù)第二位
1128第三個部分積=被乘數(shù)*乘數(shù)的倒數(shù)第三位
141376積
本問題所關(guān)心的是積的最后三位。分析產(chǎn)生積的后三位的過程,可以看出,在每一次的
部分積中,并不是它的每一位都會對積的后三位產(chǎn)生影響??偨Y(jié)規(guī)律可以得到:在三位數(shù)
乘法中,對積的后三位產(chǎn)生影響的部分積分別為:第一個部分積中:被乘數(shù)最后三位*乘
數(shù)的倒數(shù)第一位第二個部分積中:被乘數(shù)最后二位*乘數(shù)的倒數(shù)第二位第三個部分積中:
被乘數(shù)最后一位*乘數(shù)的倒數(shù)第三位將以上.的部分積的后三位求和后截取后三位就是三位
數(shù)乘積的后三位。這樣的規(guī)律可以推廣到同樣問題的不同位數(shù)乘積。按照手工計算的過程
可以設(shè)計算法編寫程序。
#include<iostream>
#include<algorithm>
#include<cmath>
#include<iomanip>
#include<stack>
usingnamespacestd;
intwei(intx){
longlongw=l;
while(x>0){
x/=10;
w*=10;
)
returnw;
)
intmain(){
longlongi;
boolflag=false;
for(i=0;i<=200000;i++){
longlonga=i*i;
if(a%wei(i)==i){
if(flag){
cout?,/〃<<i;
}else{
cout?i;
)
}
flag=true;
)
return0;
)
1064:語法百題角谷猜想
時間限制:1Sec內(nèi)存限制:128MB
題目描述
角谷猜想:日本一位中學生發(fā)現(xiàn)一個奇妙的“定理”,請角谷教授證明,而教授無能為
力,于是產(chǎn)生角谷猜想。猜想的內(nèi)容是:任給一個自然數(shù),若為偶數(shù)除以2,若為奇數(shù)
則乘3加1,得到一個新的自然數(shù)后按照上面的法則繼續(xù)演算,若干次后得到的結(jié)果必
然為1。請編程驗證。
輸入
任一正整數(shù)
輸出
演算的過程
樣例輸入
10
樣例輸出
10/2=5
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
^include<iostream>
usingnamespacestd;
voidodd(int&n)
(
intd=n;
n=n*3+l;
cout?d<<//*3+l=w?n?endl;
)
voideven(int&n)
(
intd=n;
n/=2;
cout?d?/,/2=w?n?endl;
)
intmainO
(
intn;
cin>>n;
while(n!=l)
(
if(n%2==0)even(n);
elseif(n%2==l)odd(n);
)
}
1070:語法百題密碼
時間限制:1Sec內(nèi)存限制:128MB
題目描述
網(wǎng)上流傳一句話:"常在網(wǎng)上飄啊,哪能不挨刀啊?”。其實要想能安安心心地上網(wǎng)其實
也不難,學點安全知識就可以。首先,我們就要設(shè)置一個安全的密碼。那什么樣的密碼才
叫安全的呢?一般來說一個比較安全的密碼至少應(yīng)該滿足下面兩個條件:
(1).密碼長度大于等于8,且不要超過16。
(2).密碼中的字符應(yīng)該來自下面“字符類別”中四組中的至少三組。
這四個字符類別分別為:
1.大寫字母:A,B,C...Z;
2.小寫字母:a,b,c...z;
3.數(shù)字:0,1,2...9;
4.特殊符號:
給你一個密碼,你的任務(wù)就是判斷它是不是一個安全的密碼。
輸入
輸入數(shù)據(jù)第一行包含一個數(shù)M,接下有M行,每行一個密碼(長度最大可能為
50),密碼僅包括上面的四類字符。
輸出
對于每個測試實例,判斷這個密碼是不是一個安全的密碼,是的話輸出YES,否則輸
出NO。
樣例輸入
3
alb2c3d4
Linle@ACM
KA礦@!%
樣例輸出
NO
YES
NO
#include<iomanip>
#include<iostream>
#include<cstring>
usingnamespacestd;
chars[1001];
intlen;
booljudgea(charx)
(
if(x<='Z'&&x>='A')returntrue;
returnfalse;
)
booljudgeb(charx)
{,,,,
if(x<=,z&&x>=,a?)returntrue;
returnfalse;
)
booljudgec(charx)
{.?
if(x<=,9?&&x>=,0,)returntrue;
returnfalse;
)~
booljudged(charx)〃~,;
(
if(x=='~'||x='!'||x='@'||x='#'"x='$‘||x='%'||x='")returntrue;
returnfalse;
)
intmain()
(
intans;
cin?ans;
while(cin?s)
(
inti,j,a=0,b=0,c=0,d=0,flag=l,total=0;
len=strlen(s);
if(len<8||len>16)flag=0;
else
{
for(i=0;i<=len-l;i++)
(
if(judgea(s[i]))a++;
if(judgeb(s[i]))b++;
if(judgec(s[i]))c++;
if(judged(s[i]))d++;
)
if(a>0)total++;
if(b>0)total++;
if(c>0)total++;
if(d>0)total++;
if(total<3)flag=0;
)
if(flag==0)cout?/zN0,z;
elsecout?,,YES/,;
cout<<endl;
)
)
1071:語法百題數(shù)組的距離
時間限制:1Sec內(nèi)存限制:128MB
題目描述
已知元素從小到大排列的兩個數(shù)組和g[],請寫出一個程序算出兩個數(shù)組彼此之間
差的絕對值中最小的一個,這叫做數(shù)組的距離
輸入
第一行為兩個整數(shù)m,n(l<m,n<1000),分別代表數(shù)組f[],g口的長度。第二行有m個元
素,為數(shù)組田。第三行有n個元素,為數(shù)組g[]。
輸出
數(shù)組的最短距離
樣例輸入
55
12345
678910
樣例輸出
1
#include<iostream>
#include<cmath>
#include<cstring>
#include<iomanip>
usingnamespacestd;
intmin(intx,inty)
(
if(x>=y)returny;
elsereturnx;
}
intmainO
(
inth,m,n,i,j;
intf[1001],g[1001];
for(i=0;i<=1000;i++)
(
f[i]=0;
g[i]=0;
)
cin?m?n;
for(i=l;i<=m;i++)
cin?f[i];
for(j=l;j<=n;j++)
cin?g[j];
h=abs(f[l]-g[l]);
for(i=l;i〈=m;i++)
(
for(j=l;j<=n;j++)
h=min(h,abs(f[i]-g[j]));
)
cout<<h?endl;
return0;
)
1087:語法百題最多約數(shù)問題
時間限制:1Sec內(nèi)存限制:128MB
題目描述
正整數(shù)x的約數(shù)是能整除x的正整數(shù)。正整數(shù)x的約數(shù)個數(shù)記為div(x)。例如,1,
2,5,10都是正整數(shù)10的約數(shù),且div(10)=4。設(shè)a和b是2個正整數(shù),agb,找出a和b
之間約數(shù)個數(shù)最多的數(shù)x
輸入
輸入2個正整數(shù)agb,編程計算a和b之間約數(shù)個數(shù)最多的數(shù)。0=<a<=b<=1000000000
輸出
程序運行結(jié)束時,找到a和b之間約數(shù)個數(shù)最多的數(shù)是x,將div(x)輸出
樣例輸入
136
樣例輸出
9
#include<iostream>
usingnamespacestd;
constlongMAXP=100000;
longprim[MAXP];
longmaxi,numb,PCOUNT;〃max存放最多約數(shù)個數(shù),numb存放約數(shù)個數(shù)最多的數(shù)
voidprimes();〃用篩選法聲生質(zhì)數(shù)存于prim數(shù)組中
voidsearch(longfrom,longtot,longnum,longlow,longup);
intmain()
(
primes();
long1,u;
cin?1?u;
if((1=1)&&(u==1))
(
maxi=1;
numb=1;
)
else
(
maxi=2;
numb=1;
search(1,1,1,1,u);
}
cout<<maxl?endl;
return0;
)
voidprimes()〃執(zhí)行完后:prim[]={2,3,5,7,11,13....}
boolget[MAXP+l];
longi;
for(i=2;i<=MAXP;i++)
get[i]=true;
for(i=2;i<=MAXP;i++)
if(get[i])
(
longj=i+i;
while(j<=MAXP)
{
get[j]=false;
j+=i;
)
)
longii,j;
for(ii=2,j=0;ii<=MAXP;ii++)
if(get[ii])prim[++j]=ii;
PCOUNT=j;
)
//區(qū)間[low,up]上,tot為當前約數(shù)最多個數(shù),num為約數(shù)個數(shù)最多的數(shù),
//from表示現(xiàn)在是第幾個質(zhì)數(shù)。
voidsearch(longfrom,longtot,longnum,longlow,longup)
(
if(num>=1)
if((tot>maxi)||((tot==maxi)&&(num<numb)))
(
maxi=tot;
numb=num;
)
if((low==up)&&(low>num))search(from,tot*2,num*low,1,1);
for(longi=from;i<=PC0UNT;i++)
(
if(prim[i]>up)return;
else
(
longj=prim[i],x=low-1,y=up,n=num,t=tot,m=1;
while(true)
(
m++;
t+=tot;
x/=j;
y/=j;
if(x==y)break;
n*=j;
search(i+l,t,n,x+1,y);
)
m=1<<m;
if(tot<maxi/m)return;
}//endelse
}//endfor
1099:語法百題語言轉(zhuǎn)換
時間限制:1Sec內(nèi)存限制:128MB
題目描述
計算機的編程語言有很多種,其中有兩種常用的語言A和B。A語言和B語言的優(yōu)
點、缺點一直都是大家所爭論的焦點,但它們之間最大的區(qū)別無非是在標志符命名上。A
語言標志符的命名規(guī)則是:由一個或多個單詞構(gòu)成;第一單詞的首字符都是小寫字母;接
下來的其它單詞都是以大寫字母開頭:單詞之間無其它任何分隔符號。如:
LongAndShor,name,nEERc都是合法的A語言標志符。B語言的標志符規(guī)則:只用小寫字
母:單詞之間用一個下劃線"”隔開。tlU:longand_short,a_b_c都是合法的B語言標
志符。不管哪種語言,每個單詞都至少有一個字母。
輸入
第一行,n,表示以下有n個語言標識符。以下n行,每行是(不超過100個字
符)只含英文字母和下劃線的一個標志符。
輸出
n行,如果輸入行的標志符是A語言標志符,輸出對應(yīng)得B語言標志符:如果輸入
行是B語言的標志符,輸出對應(yīng)的A語言的標志符。如果兩種語言都不是,則輸出
“Error"°
樣例輸入
3
AbcDefs
long_and
longAnd
樣例輸出
Error
longAnd
long_and
提示
對于100%的數(shù)據(jù):n<=10o
#include<iostream>
#include<cstring>
#include<cstdio>
usingnamespacestd;
boolCheckA(stringstr)
{.
if(!(str[0]>=,a&&str[0]<=,zJ))return0;
for(inti=l;i<=str.length()-1;i++)
if(!((str[i]>=,a*&&str[i]<=,z)||(str[i]>='A'&&str[i]<=,Z?)))return
0;
return1;
)
boolCheckB(stringstr){
if(str[0]==,J||str[str.lengthJ)return0;
for(inti=0;i<=str.length()-1;i++){
if(!((str[i]>=,a*&&str[i]<=,z)||str[i]==,))return0;
if(str[i]==,J&&str[i+l]==,_*)return0;
)
return1;
)
stringToA(stringstr){
stringans=〃〃;boolflag=0;
for(inti=0;i<=str.length()-1;i++){
if(str[i]==,'){flag=l;continue;}
if(flag)ans+=char(str[i]~32);
elseans+=str[i];
flag=0;
)
returnans;
)
stringToB(stringstr){
stringans=〃”;
for(inti=0;i<=str.length()-1;i++){
if(str[i]>=,A*&&str[i]<=,TJ){
ans+=;
ans+=char(str[i]+32);
}elseans+=str[i];
)
returnans;
)
intmain(){
intn;stringstr;
cin>>n;
for(inti=l;i<=n;i++){
cin>>str;
if(CheckA(str))cout<<ToB(str)<<endl;
elseif(CheckB(str))cout?ToA(str)<<endl;
elsecout?,,Error/z<<endl;
)
return0;
)
1083:語法百題剔除相關(guān)數(shù)
時間限制:1Sec內(nèi)存限制:128MB
題目描述
一個數(shù)與另一個數(shù)如果含有相同數(shù)字和個數(shù)的字符,則稱兩數(shù)相關(guān)?,F(xiàn)有一堆亂七八
糟的整數(shù),里面可能充滿了彼此相關(guān)的數(shù),請你用一下手段,自動地將其剔除。
輸入
每組數(shù)據(jù)前有一個N(<1000),表示跟隨的整數(shù)個數(shù)
輸出
按從小到大的順序輸出非相關(guān)數(shù),若沒有非相關(guān)數(shù),則輸出None
樣例輸入
213667321343346772
322232232
0
樣例輸出
23667677
None
#include<iostream>
#include<cstring>
#include<string>
#include<sstream>
#include<cmath>
#include<cstdio>
#include<iomanip>
#include〈algorithm〉
#include<stack>
#include<vector>
#include<queue>
usingnamespacestd;
intn,zx;
stringb[1010];
chara[1010][1010],c[1010][1010];
boole(charx[],chary[]){
inti;
intlen=max(strlen(x),strlen(y));
for(i=0;i<len;i++){
//cout<<,**?*,?x[i]?,,?y[i]?endl;
if(x[i]!=y[i]){
returnfalse;
)
)
returntrue;
)
voidstoc(string&q,char[]){
)
intmain(){
inti,j;
while(cin>>n){
if(n==0){
gotowan;
)
boolhave二false;
for(i=l;i<=n;i++){
cin>>b[i];
)
sort(b,b+n+1);
for(i=l;i<-n;i++){
intq=b[i].size();
//cout<<q?endl;
for(j=0;j<q;j++){
a[i][j]=b[i][j];
c[i][j]=b[i][j];
)
intx=strlen(a[i]);
zx+=x;
sort(a[i],a[i]+x);
)
/*
for(i=l;i<=n;i++){
cout<<a[i]<<endl;
)
*/
for(i=l;i<=n;i++){
boolflag=false;
for(j=l;j<=n;j++){
//cout<<endl;
if(e(a[i],a[j])&&i!=j){
flag=true;
}
)
if(!flag){
have=true;
cout?c[i]?,;
)
)
if(!have){
cout〈〈"None";
}
cout<<endl;
)
wan:
return0;
}
1035:語法百題移動數(shù)據(jù)
題目描述
有n個整數(shù),使前面各數(shù)順序向后移m個位置,最后m個數(shù)變成前面m個數(shù)。
輸入
輸入數(shù)據(jù)的個數(shù)nn個整數(shù)移動的位置m
輸出
移動后的n個數(shù)
樣例輸入
10
12345678910
2
樣例輸出
91012345678
提示
n<=20
#include<cstdio>
intmain()
(
intn,m,a[20];
scanf(純d”,&n);
for(inti=l;i<=n;i++)
scanf;
scanf&m);
for(inti=n-m+l;i<=n;i++)
printf("%d",a[i]);
for(inti=l;i<=n-m;i++)
printf("%d",a[i]);
return0;
}
1036:語法百題神奇的fans
題目描述
傳說fans是--個數(shù)學天才。在他五歲那年,從一堆數(shù)字卡片中選出了4張卡片:5,
7,6,8。這4個數(shù)字有什么神秘之處呢?如果把這4張卡片自左往右的排成:5,6,7,
8。你就會發(fā)現(xiàn):原來這4個數(shù)字構(gòu)成了等差數(shù)列!當年fans選出了n組卡片,據(jù)說都能夠
構(gòu)成等差數(shù)列。但是事實真的是這樣嗎?fans真的有這么神奇嗎?n組數(shù)據(jù)就是fans選出
的n組卡片,請你判斷每一組卡片是否能構(gòu)成等差數(shù)列.
輸入
第一個數(shù)為數(shù)據(jù)的組數(shù)n,表示后面有n行,每行中的第一個數(shù)為該組數(shù)據(jù)的元素個數(shù)
m(l<m<100),其后是m個正整數(shù)(不會超出int的表示范圍)。
輸出
如果能夠構(gòu)成等差數(shù)列,輸出“yes”,否則輸出“no”。
樣例輸入
2
4UC768
817328
樣例輸出
yes
no
#include<iostream>
#include<stdio.h>
usingnamespacestd;
intmain()
(
intn,x[25],s=l;
cin>>n;
for(inti=l;i<=n;i++)
(
inta[105],t,z,f;
cin?z;
for(inti=l;i<=z;i++)
cin?a[i]:
for(inti=l;i<z;i++)
(
for(intj=i+l;j<=z;j++)
(
if(a[i]>a[j])
(
t=a[i];
a[i]=a[j];
a[j]=t;
)
)
)
for(inti=l;i〈=z;i++)
{
if(i==l)f=a[i+l]-a[i];
if(i==z)
(
x[s]=0;
s++;
break;
}
elseif(f!=a[i+l]-a[i])
{
x[s]=l;
s++;
break;
}
}
)
for(inti=l;i<=n;i++)
if(x[i]==O)
cout<<z,yeszz<<endl;
else
cout<〈"no〃<〈endl;
)〃〃
//system(zzpause,z);
return0;
)
程序2:
#include<iostream>
#include<cstring>
#include<cmath>
#include<iostream>
#include<cstring>
#inc1ude<algorithm>
usingnamespacestd;
intmain()
(
intn,m,a[100],x[1000],i;
cin>>n;
for(i=0;i<n;i++)
(
cin?m;
for(intj=0;j<m;j++)cin?a[j];
sort(a,a+m);
for(intf=0;f<m-2;f++)
if(a[f+l]-a[f]!=a[f+2]-a[f+l])x[i]=l;
if(x[i]==l)cout<<z,noz/?endl;
elsecout??zyes,,<<endl;
)
return0;
)
1038:語法百題成績統(tǒng)計
時間限制:1Sec內(nèi)存限制:128MB
題目描述
有N個學生,每個學生的數(shù)據(jù)包括學號、姓名、3門課的成績,從鍵盤輸入N個學生
的數(shù)據(jù),要求打印出3門課的總平均成績,以及最高分的學生的數(shù)據(jù)(包括學號、姓名、3
門課成績)
輸入
學生數(shù)量N占一行每個學生的學號、姓名、三科成績占一行,空格分開。
輸出
各門課的平均成績最高分的學生的數(shù)據(jù)(包括學號、姓名、3門課成績)平均分為整
數(shù)
樣例輸入
2
1blue908070
bclan807060
樣例輸出
857565
1blue908070
提示
n<=20
#include<iostream>
usingnamespacestd;
intmain()
(
stringa[100],max2;
intn,c[100],d[100],e[100],f[100],i,g[100],max0=-
1000,o=0,h[100],p=0,q=0;
intmax3,max4,max5;
charb[100],maxi;
cin>>n;
for(i=0;i<n;i++)
(
cin>>b[i]?a[i]>>c[i]?d[i]?e[i];
o+=c[i];
p+=d[i];
q+=e[i];
g[i]=c[i]+d[i]+e[i];
if(g[i]>max0)
{max0=g[i];maxl=b[i];max2=a[i];max3=c[i];max4=d[i];max5=e[i];}
)
h[0]=o/n;
h[l]=p/n;
h[2]=q/n;
for(i=0;i<3;i++)
cout<<h[i]<<,zz/;
cout?endl;
cout<<maxl<<z/,,<<max2<</,,,<<max3?/,,,<<max4<<,/,,?max5?,/
return0;
)
1041:語法百題逆序輸出
時間限制:1Sec內(nèi)存限制:128MB
題目描述
輸入10個數(shù)字,然后逆序輸出。
輸入
十個整數(shù)
輸出
逆序輸出,空格分開
樣例輸入
1234567890
樣例輸出
0987654321
#include<iostream>
usingnamespacestd;
intmain()
(
inta[ll];
for(inti=l;i<=10;i++)cin?a[i];
for(inti=10;i>=l;i-)cout<<a[i]<<z,
)
1043:語法百題排序
時間限制:1Sec內(nèi)存限制:128MB
題目描述
對10個整數(shù)從小到大排序。
輸入
10個整數(shù)
輸出
排序好的10個整數(shù)
樣例輸入
4853234453453451223012
樣例輸出
3
4
12
30
45
85
122
234
345
#include<iostream>
#include<stdio.h>
usingnamespacestd;
intmain()
(
inti,j,temp,n,a[12]={0};
n=10;
for(i=0;i<n;i++)cin?a[i];
for(i=0;i<n-l;i++)
for(j=i+l;j<n;j++)
if(a[i]>a[j])
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(j=0;j<n;j++)cout?a[j]?endl;
return0;
)
1045:語法百題插入數(shù)字
時間限制:1Sec內(nèi)存限制:128MB
題目描述
已有一個已排好的9個元素的數(shù)組,今輸入一個數(shù)要求按原來排序的規(guī)律將它插入數(shù)
組中。
輸入
第一行,原始數(shù)列。第二行,需要插入的數(shù)字。
輸出
排序后的數(shù)列
樣例輸入
1781723245962101
50
樣例輸出
1
7
8
17
23
24
50
59
62
101
#include<iostream>
usingnamespacestd;
intmain()
(
inta[1000],n,i,j,t,min,k;
boolflag;
n=10;
for(i=l;i<=n;i++)cin?a[i];
for(i=2;i<=n;i++)
(
k=a[i];
while(a[j]>k&&j>=l)
a[j+l]=a[j];
j-:
}
a[j+l]=k;
}
for(i=l;i<=n;i++)cout?a[i]?*
cout?endl;
return0;
)
1053:語法百題斐波納契數(shù)列
時間限制:1Sec內(nèi)存限制:128MB
題目描述
斐波納契數(shù)列1,1,2,3,5,8,13,21,34,55,89……這個數(shù)列則稱為“斐波納
契數(shù)列”,其中每個數(shù)字都是“斐波納契數(shù)”。
輸入
一個整數(shù)N(N不能大于40)
輸出
由N個“斐波納契數(shù)”組成的“斐波納契數(shù)列”。
樣例輸入
6
樣例輸出
112358
#include<iostream>
usingnamespacestd;
intmain()
(
inta[100011,n,i;
cin?n;
a[l]=l;
a⑵=1;
for(i=3;i<=n;i++)
(
a[i]=a[i-l]+a[i-2];
)
for(i=l;i<=n;i++)
(
cout<<a[i]?";
)
return0;
)
1059:語法百題求車速
時間限制:1Sec內(nèi)存限制:128MB
題目描述
一輛以固定速度行駛的汽車,司機在上午10點看到里程表上的讀數(shù)是一個對稱數(shù)(即
這個數(shù)從左向右讀和從右向左讀是完全一樣的),為95859。兩小時后里程表上出現(xiàn)了一個
新的對稱數(shù)。新的對稱數(shù)是多少?
輸入
輸出
樣例輸入
樣例輸出
95959
提示
根據(jù)題意,設(shè)所求對稱數(shù)為i,其初值為95859,對其依次遞增取值,將i值的每一位
分解后與其對稱位置上的數(shù)進行比較,若每個對稱位置上的數(shù)皆相等,則可判定i即為所
求的對稱數(shù)。
ftinclude<iostream>
#include<stdio.h>
usingnamespacestd;
intmainO
intt,a[5];
longintk,i;
for(i=95860;;i++)
for(t=0,k=100000;k>=10;t++)
a[t]=(i%k)/(k/10);
k/=10;
if((a[0]==a[4])&&(a[l]==a[3]))
printf(z/%d%d%d%d%d”,a[0],a[l],a[2],a[3],a[4]);
printf("”,(i-95859)/2.0);
return0;
1060:語法百題進制轉(zhuǎn)換
時間限制:1Sec內(nèi)存限制:128MB
題目描述
一個十進制數(shù)n(n<=200000000)轉(zhuǎn)換成二進制數(shù),例如輸入10,輸出1010.
輸入
一個整數(shù)n
輸出
二進制數(shù)
樣例輸入
10
樣例輸出
1010
#include<cstdio>
inta[32];
intmain()
(
intn;
boolflag=0;
scanf("%M,&n);
for(inti=31;n;i一)
(
a[i]=n%2;
n/=2;
)
for(inti=0;i<32;i++)
(
if(a[i])
flag=l;
if(flag)
printfa[i]);
)
return0;
)
1069:語法百題篩法求素數(shù)
時間限制:1Sec內(nèi)存限制:128MB
題目描述
用篩法求之N內(nèi)的素數(shù)。n<=150
輸入
N
輸出
0-N的素數(shù)
樣例輸入
100
樣例輸出
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
#include<iostream>
usingnamespacestd;
intmain()
(
inta,i,j,k;
cin>>a;
if(a>l)
(
cout?,z2〃;
for(i=3;i<=a;i++)
(
for(j=2;j<i;j++)
(
if(j==i-l)cout?i<</z
if(i%j=O)break;
)
)
)〃〃
“system("pause");
return0;
)
#include<iostream>
#include<iomanip>
#include<cmath>
usingnamespacestd;
intmain()
(
intal[100000]={0};
inti,j,t,t2,n;
cin>>n;
for(i=2;i<=sqrt(n);i++)
if(al[i]==0)
t2=n/i;
for(j=2;j<=t2;j++)al[i*j]=l;
}
t=0;
for(i=2;i<=n;i++)
if(al[i]==0)
(
cout<<i<<endl;t++;
)
cout<<endl;
“system("pause");
return0;
)
1072:語法百題母牛生小牛
時間限制:1Sec內(nèi)存限制:128MB
題目描述
設(shè)有一頭小母牛,從出生第四年起每年生一頭小母牛,按此規(guī)律,第N年時有幾頭母
牛?
輸入
輸入一個整數(shù)N。(l<N<50)
輸出
第N年時母牛的數(shù)量
樣例輸入
5
樣例輸出
3
#include<iostream>
usingnamespacestd;
intmain()
(
inta[1000]={0},n,i=l,j,k;
cin>>n;
for(j=l;j<=n;j++)
for(k=l;k<=i;k++)
(
a[k]++;
if(a[k]>=4)++i;
)
cout<<i;
“system("pause");
return0;
)
#include<iostream>
usingnamespacestd;
intmain()
inta[60],i,n,s=0;
cin>>n;
a[l]=l;a[2]=l;a[3]=l;a[4]=2;a[5]=3;
for(i=6;i<=n;i++)
a[i]=a[i-l]+a[i-3];
}
cout?a[n]?endl;
return0;
1073:語法百題矩陣轉(zhuǎn)換
時間限制:1Sec內(nèi)存限制:128MB
題目描述
寫一個函數(shù),使給定的一個二維數(shù)組(3X3)轉(zhuǎn)置,即行列互換。
輸入
一個3x3的矩陣
輸出
轉(zhuǎn)置后的矩陣
樣例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度健康養(yǎng)生類產(chǎn)品包裝設(shè)計合同3篇
- 二零二五版租賃房屋租賃合同網(wǎng)絡(luò)安全保障協(xié)議4篇
- 2025年度集裝箱裝卸運輸操作規(guī)范合同
- 二零二五年度民間個人借款合同金融創(chuàng)新服務(wù)細則
- 二零二五版農(nóng)業(yè)保險代理服務(wù)合同范本8篇
- 2025年度房產(chǎn)抵押經(jīng)營性貸款合同樣本
- 2025年南京住建部房屋租賃合同規(guī)范版
- 課題申報參考:面向微生物組中介效應(yīng)的群落水平關(guān)聯(lián)檢驗方法研究
- 課題申報參考:美式“小多邊主義”沖擊下中國伙伴關(guān)系的升級與轉(zhuǎn)型研究
- 2025年木材銷售企業(yè)庫存管理服務(wù)合同
- 汽車修理廠管理方案
- 人教版小學數(shù)學一年級上冊小學生口算天天練
- 九年級上冊-備戰(zhàn)2024年中考歷史總復習核心考點與重難點練習(統(tǒng)部編版)
- 三年級數(shù)學添括號去括號加減簡便計算練習400道及答案
- 蘇教版五年級上冊數(shù)學簡便計算300題及答案
- 澳洲牛肉行業(yè)分析
- 老客戶的開發(fā)與技巧課件
- 計算機江蘇對口單招文化綜合理論試卷
- 成人學士學位英語單詞(史上全面)
- KAPPA-實施方法課件
- GB/T 13813-2023煤礦用金屬材料摩擦火花安全性試驗方法和判定規(guī)則
評論
0/150
提交評論