x(0~100) を変数として、
・"> x" は、a が x よりも大きいことを示します。
・"< x" は、a が x よりも小さいことを示します。
・"/ x" は、a が x でちょうど割り切れることを示します。
"<x",">x","/x"のいずれかをN(1~10)回入力したとき、入力した条件を満たす整数を表示せよ
入力例:
3
30
< 40
/ 5
出力例:
35
この問題を解くために以下のソースコードを書いたのですが上手く動きません。どう修正するべきでしょうか。
#include <vector> #include <iostream> #define XNUM 100 using namespace std; int main(){ int n,x[10]; char o[10]; vector<int>num; for(int i=1;i<=XNUM;i++)num.push_back(i); cin>>n; for(int i=0;i<n;i++){ cin>>o[i]>>x[i]; if(o[i]=='<'){ for(num.begin(),)num.erase(num.begin()+j); } if(o[i]=='>'){ for(int j=0;j<=x[i];j++)num.erase(num.begin()+j); } if(o[i]=='/'){ for(int j=0;j<num.size();j++){ if(j%x[i]!=0)num.erase(num.begin()+j); } } } for(auto&ans:num)cout<<ans<<" "; return 0; }
回答1件
あなたの回答
tips
プレビュー