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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# [至急]Project Euler:#13Large sum コード、入力、出力、解説 1 2022/09/24 02:30
- C言語・C++・C# Project Euler #6 Sum square difference 至急教えてください。 1 2022/09/17 16:16
- C言語・C++・C# [至急] Project Euler: #15 Lattice paths コード、入力、出力、解説 1 2022/09/24 02:34
- C言語・C++・C# [至急]Project Euler:#21Amicable numbersコード、入力、出力、解説 1 2022/09/25 05:58
- 英語 "an amount of"の意味等について 2 2023/06/13 12:19
- 英語 提示文の解説依頼について 23 2022/11/14 09:50
- 工学 光のレンズ 集光力についての問題です。英語があります。 Consider a lens made o 2 2022/11/14 20:11
- 英語 Therefore, in just over half the cases, this surgi 4 2022/05/23 00:58
- 高校 物理の問題の解説お願いします。 1 2023/03/04 16:42
- 英語 “Conversely, the percentage of senior citizens is 1 2023/02/03 21:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
アクセスでエクセルに出力する...
-
VBAでテキスト出力時のスペース...
-
printfの書式%.*s
-
VBAのExecメソッドで画面を非表...
-
無線とかアンテナに関しの質問...
-
ACCESS クエリ→フォーム...
-
ListViewの複数選択について
-
プログラムについての質問です...
-
printfとputcharの違いは
-
CSVの番地をエクセルで開く...
-
エクセルVBAにて アルファ...
-
【エクセル、並び替えについて】
-
エクセルVBAからOUTLOOKの操作...
-
Windows Formアプリからコンソ...
-
1ヶ月前の日時を取得
-
【UNIX】echoコマンドのタブが...
-
【PowerPoint VBAの高速化】
-
cout と cerrの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
プログラムについての質問です...
-
printfとputcharの違いは
-
cout と cerrの違い
-
COBOLのMOVEで桁数が異なる場合
-
テキストファイルから特定の文...
-
MMDでavi出力が出来ない
-
コンセントの電力は入力と出力...
-
アクセスでエクセルに出力する...
-
OBS配信すると、マイクが途切れ...
-
coutで出力した文字を消去する...
-
CRC16計算について
-
VBA レジストリの値の読み方に...
-
ACCESS クエリ→フォーム...
-
printfの書式%.*s
-
VBAで有効数字の設定
-
VBAでテキスト出力時のスペース...
-
VBAのExecメソッドで画面を非表...
-
makeで文字化けする。migwのmak...
おすすめ情報