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;
}

 

T5 计科acm第一复读机 - NYOJ

思路:直接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; }

 

posted @ 2023-02-06 00:15  Alaso_shuang  阅读(43)  评论(0编辑  收藏  举报
2 3
4