2021/12/13) 6. 奇数
1.質問
<奇数>
:7個の自然数が与えられた場合、その中から奇数の自然数をすべて選択してその和を求め、
選択した奇数の最小値を検索するプログラムを作成してください.
1行目に奇数の和を出力し、2行目に奇数の最高値を出力します.
2.解決方法
2つの
->繰り返し!
3.正解
<script>
function solution(arr){
let answer=[];
let sum=0,min=Number.MAX_SAFE_INTEGER;
for(let x of arr){
if(x%2===1){
sum+=x;
if(x<min) min=x;
}
}
answer.push(sum);
answer.push(min);
return answer;
}
arr=[12, 77, 38, 41, 53, 92, 85];
console.log(solution(arr));
</script>
4.私のコードとの比較と反省
奇数のみを含む配列変数と,前の配列のすべてのパラメータを加算する変数と,最も切り上げた変数を含む3つの変数を宣言した.次にfor文を用いて,最初のfor文に奇数を見つけ,2番目のfor文に見つけた奇数の和の最大値を求めた.奇数の数値を見つけて、中で直接和の最高値を求めればいいのですが...そして一度に2つ出力できません(sum,min).答えが順番に並んで終わりました...
<script>
function solution(arr){
let sum=[], result=0, min = Number.MAX_SAFE_INTEGER;
for(let i = 0; i < arr.length; i ++){
if(arr[i] % 2 === 1) sum.push(arr[i]);
}
for ( let i = 0; i < sum.length; i++){
result += sum[i];
if(min > sum[i]) min = sum[i];
}
answer = min;
return answer;
}
arr=[12, 77, 38, 41, 53, 92, 85];
console.log(solution(arr));
</script>
Reference
この問題について(2021/12/13) 6. 奇数), 我々は、より多くの情報をここで見つけました https://velog.io/@7lo9ve3/20211213-6.-홀수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol