質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.40%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

221閲覧

Atcoderのエラー内容について、どこが間違っているか?

resasu

総合スコア3

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2024/07/22 13:33

実現したいこと

競技プログラミングで作成したコードがエラーになってしまうが、どこが悪いか分からない。
https://atcoder.jp/contests/abc080/tasks/abc080_b

発生している問題・分からないこと

Atcoderの問題で評価がWAになってしまうが、どこが悪いか分からない。

エラーメッセージ

error

1エラーメッセージはありません。評価はWAです。

該当のソースコード

C++

1#include <bits/stdc++.h> 2using namespace std; 3 4int main() { 5 int x ,y, z; 6 y=0; 7 cin >> x; 8 z = x; 9 10 while (x > 10){ 11 y += x%10; 12 x = x/10; 13 } 14 y += x%10; 15 16 if(z/y == 0){ 17 cout << "Yes" << endl; 18 } else{ 19 cout << "No" << endl; 20 } 21} 22

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

Atcoderの様々なページを参照しました。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroki-o

2024/07/22 13:43

ぱっと見、16行目はダメでしょうね。 あと、タグからC#を外してください。
guest

回答1

0

ベストアンサー

①各桁の数字の和を求める方法が間違っています。

C++

1// 10行目 2 while (x > 10){ 3 y += x%10; 4 x = x/10; 5 } 6 y += x%10;

このコードだと、例えばx = 10の場合、2桁以上にもかかわらずループから抜けてしまうためy = 0となってしまいます。
2桁以上であることを確かめるなら、while文の条件式はx >= 10またはx > 9です。

ただ、以下のようにwhile文の条件式をx > 0としてしまえば、ループ外で処理をおこなう必要はありません。

C++

1while (x > 0) { 2 y += x % 10; 3 x /= 10; 4}

②倍数判定が間違っています。

C++

1// 16行目 2 if(z/y == 0){ 3 cout << "Yes" << endl; 4 } else{ 5 cout << "No" << endl; 6 }

「ZがYで割り切れる」=「ZがYの倍数である」=「ZをYで割ったあまりが0である」なので、z/y == 0ではなくz % y == 0が正しいです。

投稿2024/07/22 14:21

luuguas

総合スコア500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.40%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問