輸入乙個10的9次方的正整數,輸出它的位數。例如輸入123,的位數為3。
#include #include水仙花數using
namespace
std;
intmain()
cout
/輸出位數
getch();
return0;
}
輸出100~999中所有水仙花數。若3位數abc滿足abc=a3+b3+c3,則稱其為水仙花數。
例如153=1的3次方+5的3次方+3的3次方。
分析:迴圈判斷解決之。
#include #include韓信點兵using
namespace
std;
int main()
}getch();
return0;
}
相傳韓信才智過人,只要讓士兵先後三人一排、五人一排、七人一排地變換隊形,而他只要掠一眼隊伍的排尾就知道總人數了。
輸入3個非負整數a,b,c表示每種隊形排尾的人數(a<3,b<5,c<7),輸出總人數的最小值。
已知總人數不小於10,不超過100。
樣例輸入:2 1 6
樣例輸出:41
樣例輸入:2 1 3
樣例輸出:no answer
分析:迴圈判斷之,也就是通過列舉來獲取結果。這就利用了計算機快的優勢了。
#include #include倒三角形using
namespace
std;
int main()
}if(!flag)
getch();
return0;
}
輸入正整數n<=20,輸出乙個n層的倒三角形。例如n=5時輸出如下:
#########
#######
#####
####
分析:迴圈解決之,每次長2
#include #include調和級數using
namespace
std;
int main()
//#號輸出
for(j=0;j<2*i-1;j++)
cout
<
; }
getch();
return0;
}
輸入正整數n,輸出h(n)=1+1/2+1/3+...+1/n的值,保留3位小數。例如n=3時答案為1.833。
分析:迴圈解決之。
#include #include近似計算intmain()
printf(
"%.3lf
",s);
getch();
return0;
}
計算pi/4 = 1 - 1/3 + 1/5 - 1/7 +...,直到最後一項小於10負6次方。
分析:迴圈條件解決之。
#include #include子串行的和intmain()
else
i += 2
; count++;
}printf(
"%.9lf
",4*pi);
getch();
return0;
}
輸入兩個正整數n
#include #include分數化小數intmain()
while(n<=m)
printf(
"%.5lf
",sum);
getch();
return0;
}
輸入正整數a,b,c,輸出a/b的小數形式,精確到小數點後c位。
a,b<=10的6次方,c<=100。
例如a=1,b=6,c=4時應輸出0.1667。
#include #include排列intmain()
用1,2,3,...,9組成3個三位數abc,def和ghi,每個數字恰好使用一次,要求abc:def:ghi = 1:2:3。
輸出所有解。
分析:從i=123到i=987/3迴圈,思考之後會排出很多沒用的計算。
然後算出2*i,3*i。
然後判斷它是否由1,2,3,...,9組成。
#include #include我的版本int func(int
a);//
把整個陣列初始化為0;
for(temp=a%10;a;a/=10,temp=a%10
)if(flag[temp]++ == 1) return
0;//
如果有相同的位,則陣列的那個位會被++兩次
return1;
}int
main()
#include #include192 384 576int func(int
a);//
定義乙個臨時變數和乙個十個元素的陣列
//如果初始化時指定的的元素個數比陣列大小少,剩下的元素都回被初始化為0。
for(temp=a%10;a;a/=10,temp=a%10)//
從末尾開始判斷,直至全部判斷完成
if(flag[temp]++ == 1
)
//比較之後再加1,如果加一之前已經為1,說明已存在
return1;
}int
main()
}getch();
return0;
}
219 438 657
273 546 819
327 654 981
迴圈小練習
1.計算1 100之間所有不能被3整除的整數的和,且第乙個大於或等於2000的和是幾 初始和為0 var sum 0 用迴圈求和 for var i 1 i 100 i 判斷和是否大於或等於2000 if sum 2000 console.log sum 2.大馬馱2石糧食,中馬馱1石糧食,兩頭小馬...
演算法小練習
連續輸入字串,請按長度為8拆分每個字串後輸出到新的字串陣列 長度不是8整數倍的字串請在後面補數字0,空字串不處理。解題思路 迴圈從鍵盤輸入,對於每個字串首先判斷長度是否大於8,如果是大於8的,計算是8的幾倍,以8個切片放到乙個陣列。再看下是否有餘數,因為餘數要用0補齊8位,放到陣列。如果字串的長度小...
演算法小練習
寫出乙個程式,接受乙個十六進製制的數,輸出該數值的十進位制表示。多組同時輸入 解題思路 十六進製制數都是0x開頭的,轉換為十進位制為sum a 16 n 公式不好寫,意思是各個位上的數字,乘以16的指數,指數根據每位的位置不同,如最後一位就是,0次方 這樣,可以先去掉ox得到後面r的字串,十六進製制...