NYOJ新手村做题寄
T1 余数 - NYOJ
思路:直接for遍历一遍数字,然后找到这个数字 i % n 是不是为 3 即可
#include<iostream> #include<cstdio> using namespace std; int main() { int n; cin>>n; for(int i = 1;i <= 20000;i++){ if(i % n == 3)cout<<i<<endl; } return 0; }
T2 打印乘法表 - NYOJ
思路:按九九乘法表打印即可(不过题目说打印前 n 列,稍微改一改就好!)
#include<iostream> using namespace std; int main() { int n; cin>>n; for(int i = 1;i <= n;i++){ for(int j = 1;j <= i;j++){ cout<<j<<"*"<<i<<"="<<i*j<<" "; } cout<<endl; } return 0; }
T3 神奇的偶数 - NYOJ
思路:直接 i % 2 == 0 判断偶数即可!
#include<iostream> using namespace std; int main() { for(int i = 1;i <= 200;i++){ if(i % 2 == 0)cout<<i<<endl; } return 0; }
T4 判断倍数 - NYOJ
思路:直接取余判断即可!(值得注意的是别忘记前一个数比后一个数小,要两者分别判断取余!)
#include<iostream> using namespace std; int main() { int a,b; cin>>a>>b; if(a % b == 0|| b % a == 0)cout<<"YES"<<endl; else cout<<"NO"<<endl; return 0; }
思路:直接for操作即可!
#include<iostream> using namespace std; int main() { string s; int n; cin>>n>>s; for(int i = 1;i <= n;i++){ cout<<s<<endl; } }
T6 水仙花数 - NYOJ
思路:对于未知输入的一般用 while 循环控制,然后再依次判断个位,十位,百位即可! (这题我居然WA了10次)
#include<iostream> using namespace std; int main() { int n; while(cin >> n) { if(n == 0)break; else { int a = n / 100; int b = n / 10 % 10; int c = n % 10; if(n == a * a * a + b * b * b + c * c * c){ cout<<"Yes"<<endl; } else{ cout<<"No"<<endl; } } } return 0; }
T9 画图 - NYOJ
思路:两层for循环搞定,只是要看他打印出来的字符才行啊!i 从 1 开始的话会少一行,所以改改范围就好了!
#include<iostream> using namespace std; int main() { int T,n; cin>>T; while(T--){ cin>>n; for(int i = 0;i < n;i++) { for(int j = 0;j < n-i;j++) { cout<<"*"; } cout<<endl; } } return 0; }
T10 大小写互换 - NYOJ
思路:对应的大小写都相差 32 ,用这个特殊的数字参与运算即可!这里提倡用数组形式存储字符串,要不然但用一个 ch 可不行哦!
#include<iostream> #include<cstring> using namespace std; const int N = 100010; char ch[N]; int m; int main() { cin>>m; while(m--) { //scanf("%s",ch);
cin>>ch; int len = strlen(ch); for(int i = 0;i < len;i++) { if(ch[i] >= 'a' && ch[i] <= 'z') { ch[i] -= 32; } else ch[i] += 32; } cout<<ch<<endl; } return 0; }
本文来自博客园,作者:Alaso_shuang,转载请注明原文链接:https://www.cnblogs.com/Alaso687/p/17094250.html