Quersumme (Unterprogramme)
Schreiben Sie eine Funktion, die von einer vorgegebenen natürlichen Zahl die Quersumme bestimmt. Natürliche Zahlen sind positive ganze Zahlen (1, 2, 3, 4, 5, …).
3 Kommentare
6 Lösung(en)
def quersumme(z):
summe=0
while (z >= 1):
a = z%10
summe = summe + a
print 'a: '+str(a)+'\tsumme: '+str(summe)+'\tz: '+str(z)
z = z / 10
return summe
z = int(raw_input("natuerliche Zahl: "))
print quersumme(z)
import java.util.Scanner;
public class Quersumme {
public static void main(String[] args) {
new Quersumme().top(); }
void top() {
int eingabe = eingabe();
int quersumme = quersumme(eingabe);
ausgabe(quersumme); }
int eingabe() {
System.out.println("Zahl: ");
Scanner sc = new Scanner(System.in);
return sc.nextInt(); }
void ausgabe(int resultat) {
System.out.println("Quersumme = " + resultat); }
int quersumme(int zahl) {
int summe = 0;
while(zahl > 0) {
int a = zahl % 10; // letzte Ziffer
summe = summe + a;
zahl = zahl / 10;
}
return summe; }
}
public class Main {
public static void main(String[] args) {
int n = 1007;
System.out.println( quersumme1( n ) );
System.out.println( quersumme2( n ) );
}
public static int quersumme1( int n ) {
int qs = 0;
String s = String.valueOf( n );
for( int i = 0; i < s.length(); i++ )
qs += Character.getNumericValue( s.charAt( i ) );
return qs;
}
public static int quersumme2( int n ) {
int qs = 0;
while( n > 0 ) {
qs += n % 10;
n /= 10;
}
return qs;
}
}
Number.prototype.checksum = function() {
let s = this.toString();
return eval(s.split('').join('+'));
}
console.log(parseInt(prompt('Positive Ganzzahl: ')).checksum());
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
// NET 6.x | C# 10.x | VS-2022
Console.WriteLine(DigitSumIter(446));
Console.WriteLine(DigitSumRec(446));
// iterativ
static int DigitSumIter(int n) => n.ToString().Select(x => x - '0').Sum();
// rekursiv
static int DigitSumRec(int n) => n != 0 ? n % 10 + DigitSumRec(n / 10) : 0;
Lösung von: Jens Kelm (@JKooP)
// C++ 14 | VS-2022
#include <iostream>
#include <string>
#include <numeric>
#include <functional>
int main() {
// iterativ (Umwandlung in string)
const auto get_digit_sum_iter_str{ [](int n) {
const auto s{ std::to_string(n) };
return std::accumulate(s.begin(), s.end(), 0, [](auto a, auto b) {return b += a - '0'; });
} };
// iterativ (int)
const auto get_digit_sum_iter_int{ [](int n) {
int result{ 0};
while (n) { result += n % 10; n /= 10; }
return result;
} };
// rekursiv
const std::function<int(int)>get_digit_sum_rec{ [&](int n) {
return n ? n % 10 + get_digit_sum_rec(n / 10) : 0;
} };
std::cout << get_digit_sum_iter_str(446) << "\n";
std::cout << get_digit_sum_iter_int(446) << "\n";
std::cout << get_digit_sum_rec(446) << "\n";
}
Lösung von: Jens Kelm (@JKooP)
Verifikation/Checksumme:
in 446 -> out 14
in 12034 -> out 10
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | 1 |
Schwierigkeit: | k.A. |
Webcode: | wvfg-ndmx |
Autor: | Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch) |
Kommentare (3)
エアバスA300
イラン航空のA300B2-203
イラン航空のA300B2-203
用途:旅客機、貨物機
分類:ワイドボディ機
製造者:エアバス
運用者(2017年7月現在の運用数上位5社)[1]
フェデックス
UPS航空
ユーロビアン・エア・トランスポート(英語版)
マーハーン航空
エア・ホンコン
初飛行:1972年10月28日[2]
生産数:567機
運用開始:1974年5月23日[3]
運用状況:運用中
表示
エアバスA300 (Airbus A300) は、エアバス・インダストリー(後のエアバス)が開発・製造した双発ジェット旅客機である。世界初の双発ワイドボディ旅客機であり、エアバス社設立のきっかけとなった。
機種名のA300は、エアバスのAと初期構想の座席数300席にちなむ。A300は2つの世代に分けることができ、第1世代はA300Bとも呼ばれる。新技術の採用でグラスコックピット化された次世代型はA300-600と呼ばれる。本項ではA300第1世代を中心に説明する(A300-600シリーズについては当該ページを参照)。
本格的なジェット旅客機の時代を迎えた1960年代、バスのように気軽に乗れる大型旅客機「エアバス」が待望された。当時、欧州の航空機メーカーは単独で「エアバス」を事業化する体力が無かったため、国際共同開発体制によりA300構想が推進された。紆余曲折を経てフランスと西ドイツ(当時)政府が中心となって企業連合エアバス・インダストリーが設立されA300が開発された。
A300は低翼配置の主翼下に左右1発ずつターボファンエンジンを装備し、尾翼は低翼配置、降着装置は前輪配置である。A300第1世代の全長は53.62メートル[注釈 1]、全幅は44.84メートル、最大離陸重量は116.5トンから165トンで、最大巡航速度はマッハ0.82から0.84である。当初、A300は欧州域内の短距離機として開発されたが、後に離着陸性能や航続距離性能を強化した派生型が開発され、一部の海上ルートを含む中距離路線にも進出した。旅客型だけでなく貨客転換型や貨物専用型も開発された。貨物型は新造のほか旅客型からの改造も行われており、2017年現在では貨物機としての運航が中心である。
A300第1世代は1974年にエールフランスにより初就航し、A300-600は1984年にサウジアラビア航空により初就航した。役目を終えた第1世代は1985年に生産を終了し、A300-600シリーズは2007年まで生産された。総生産数はA300第1世代が250機、A300-600シリーズは317機であった。2017年1月現在、A300の関係した機体損失事故が34件、ハイジャックが30件起きている。死者を伴う事件・事故は15件発生しており、合わせて1,435人が亡くなっている。
以下、本項ではジェット旅客機については社名を省略して英数字のみで表記する。例えば、「エアバスA300」であれば「A300」、「ボーイング747」であれば「747」、「ダグラスDC-10」はDC-10、「ロッキードL-1011」はL-1011とする。