前提・実現したいこと
C++の課題で1から10までの数を同じものを選ばずにいくつか選んで
入力した数を割り切れたらYesそうでなければNoという処理を再起関数で作りたい
発生している問題・エラーメッセージ
main.cpp:関数内 'int func(int、int)': main.cpp:14:1:警告:制御が非void関数の終わりに達しました[-Wreturn-type] 1ケース2.000秒の問題でRE(ランタイムエラー)との表示
該当のソースコード
C++
1#include <iostream> 2using namespace std; 3 4int func(int n,int m) { 5 if (n == 1) { 6 return 1; 7 } 8 else if(m == 1){ 9 return 0; 10 } 11 if (n%m == 0) { 12 func(n / m, m - 1); 13 } 14 else { 15 func(n, m - 1); 16 } 17} 18 19int main() 20{ 21 int kazu=10,num; 22 cin >> num; 23 24 if (func(num, kazu)) { 25 cout << "Yes\n"; 26 } 27 else { 28 cout << "No\n"; 29 } 30 31 return 0; 32}
試したこと
割られる数'n'や割る数'kazu'でif文の条件やreturnの位置などを変えてみたものの
エラーメッセージが変わることがありませんでした。
補足情報(FW/ツールのバージョンなど)
サンプルの入出力の結果やテスト入出力の結果は全てクリア済みですがREが出ている状況です。
回答2件
あなたの回答
tips
プレビュー