
https://projecteuler.net/problem=16
215 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.
What is the sum of the digits of the number 21000?
結論からお伝えすると、答えを教えてください。C, C++, Javaのどれかで。
コードと入力と出力とできれば解説もお願いします。
プログラミング未経験でも簡単に理解できるように説明してほしい。
私の考え
オーバーフローが発生します。不可能である。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#include <stdio.h>
int main()
{
unsigned sumDigit = 0;
for (unsigned val = 1u << 1000; val; sumDigit += val%10, val /= 10);
printf("%zu\n", sumDigit);
}
なお int が 1001ビット以上の環境を用意すること.
No.2
- 回答日時:
> 215 = 32768
> 21000
何のことだか、と思い元の問題を見ると
2^15=32768
2^1000
のことだった。
> オーバーフローが発生します。不可能である。
Javaなら、BigIntegerという通常より大きい桁の整数を扱えるクラスを使えばオーバーフローしないで計算できる。
https://docs.oracle.com/javase/jp/8/docs/api/jav …
同様のものは、C/C++の標準ライブラリには無いが、公開されているライブラリで実現できる。
あるいは、この問題で使う程度の内容なら自作できる
https://ja.wikipedia.org/wiki/%E4%BB%BB%E6%84%8F …
各桁の値を知る方法でメジャーなのは次に二つ
・文字列に変換し、1文字ずつ調べる
・ ある値を10で割る(端数切り捨て)と、 商は1の位を除いた値になり、余りは1の位の値になる。
これを割られる値が0になるまで繰り返すと、全ての位の値が余りとして取り出せる。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【初月無料キャンペーン実施中】オンライン健康相談gooドクター
24時間365日いつでも医師に健康相談できる!詳しくはコチラ>>
-
[至急]Project Euler:#18Maximum path sum Iコード、入力出力、解説
C言語・C++・C#
-
[至急]Project Euler:#17Number letter countsコード入力出力解説
C言語・C++・C#
-
[至急]Project Euler:#13Large sum コード、入力、出力、解説
C言語・C++・C#
-
4
[至急]Project Euler:#21Amicable numbersコード、入力、出力、解説
C言語・C++・C#
-
5
[至急] Project Euler: #15 Lattice paths コード、入力、出力、解説
C言語・C++・C#
-
6
Project Euler #6 Sum square difference 至急教えてください。
C言語・C++・C#
-
7
ごめんなさい。
C言語・C++・C#
-
8
絶対ち
C言語・C++・C#
-
9
[C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について
C言語・C++・C#
-
10
プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし
C言語・C++・C#
-
11
C++初心者です stirng
C言語・C++・C#
-
12
プログラムの時、フローチャートはどうなりますか?図でお願いします。 int main(void) {
C言語・C++・C#
-
13
C言語で移動平均のプログラムを作りたいのですが、数値をファイルから取ってきて計算をするプログラムはど
C言語・C++・C#
-
14
C言語
C言語・C++・C#
-
15
プログラム例え話について。
C言語・C++・C#
-
16
あまりわかりません。 複素数$c$を具体的に定めた複素写像写像$f_c(z)$に対して、原点を含む領
C言語・C++・C#
-
17
私はteratailにおける凍結を解除したい。
その他(SNS・コミュニケーションサービス)
-
18
C#の検索プログラムの問題で下の写真についてなのですが実行した時にfirst、last、center
C言語・C++・C#
-
19
C++はWindows運用に必須なのか
C言語・C++・C#
-
20
画像の画素値を変えるC言語のプログラムで指定された画像の中に白い三角形を右上に表示させるにはどのよう
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
このカテゴリの人気Q&Aランキング
-
4
プログラムが書けません。
-
5
*を使ったジグザグのラインをプ...
-
6
現在プログラムを作っているの...
-
7
c言語 2つのファイルを行ご...
-
8
C言語初心者の質問失礼します。
-
9
exeファイルを実行するとコマン...
-
10
<unistd.h>をVisualStudioでつ...
-
11
C#にて別クラスの関数を使いたい
-
12
ローポリのキャラクターやステ...
-
13
プログラミングの授業の課題です
-
14
配列を使わずに、変数名を動的...
-
15
3次方程式の求解プログラム(...
-
16
ロトカ=ヴォルテラ方程式 をC...
-
17
インスタンス参照でアクセスで...
-
18
0xffffとは?
-
19
*をユーザーが入力した数字の数...
-
20
0除算して、落ちるプログラムと...
おすすめ情報
公式facebook
公式twitter