3桁のオシリス番号Cプログラム?
ここにオシリス番号が表示されます。オシリス数は、自分の数字のサブサンプルの順列の合計に等しい種類の数です。数が132であると仮定します。次に、{12 + 21 + 13 + 31 + 23 + 32}を計算すると、これも132になります。したがって、数はオシリス数です。与えられた番号がオシリス番号かどうかを確認する必要があります。
アプローチは簡単です。数字を分析すると、各桁は2回出現しているため、1の位置と10の位置にあります。したがって、11を掛けて確認できます。
アルゴリズム
isOsirisNumber(n)−
Begin a := last digit b := second digit c := first digit digit_sum := a + b + c if n = (22 * digit_sum), then return true end if return false End
例
#include using namespace std; bool isOsirisNumber(int n) { int a = n % 10; int b = (n / 10) % 10; int c = n / 100; int sum = a + b + c; if (n == (22 * sum)) { return true; } return false; } int main() { int n = 132; if (isOsirisNumber(n)) cout << "This is Osiris number"; else cout << "This is Not Osiris number"; }
出力
This is Osiris number
-
与えられた数を単語に変換するCプログラム
数値で構成される文字列が与えられた場合、タスクはそれらの与えられた数値を単語で隠すことです。 入力「361」があるように。その場合、出力は「三百六十一」という言葉である必要があります。次の問題を解決するには、1、数万、数千などの数と場所を覚えておく必要があります。 コードは最大4桁の数字、つまり0〜9999のみをサポートします。したがって、入力は0〜9999である必要があります。 場所が-のようになるように1,111を考えてみましょう 例 Input: “1234” Output: one thousand two hundred thirty four
-
プラス完全数をチェックするCプログラム
n桁の数xが与えられた場合、私たちのタスクは、与えられた数のプラス完全数かどうかを確認することです。数値がプラス完全数であることを確認するために、すべての桁のn乗d(d ^ n)を見つけて、すべての桁を合計します。合計がnに等しい場合、その数値はプラス完全数です。プラス完全数は、任意の数のアームストロングを見つけるのと似ています。 以下の例のように- 例 Input: 163 Output: Number is not a perfect_number Explanation: 1^3 + 6^3 + 3^3 is not equal to 163 Input: 371 Output: