C/C++每日一练(20230304)

简介: C/C++每日一练(20230304)

1. 计数质数

统计所有小于非负整数 n的质数的数量。



示例 1:

输入:n = 10

输出:4

解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。


示例 2:

输入:n = 0

输出:0


示例 3:

输入:n = 1

输出:0


提示:

  • 0 <= n <= 5 * 10^6

代码:

#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
    int countPrimes(int n)
    {
        vector<bool> primesMap(n, true);
        int count = 0;
        for (int i = 2; i < n; i++)
        {
            if (primesMap[i])
            {
                count++;
                for (int j = 2 * i; j < n; j += i)
                {
                    primesMap[j] = false;
                }
            }
        }
        return count;
    }
};
int main()
{
  Solution s;
  cout << s.countPrimes(10) << endl;
  cout << s.countPrimes(0) << endl;
  cout << s.countPrimes(1) << endl;
  return 0;
} 



输出:

4

0

0


2. 筛选10到1000的回文数


Palindrome Number

设n是一任意自然数,若将n的各位数字反向排列所得自然数与原自然数n相等,则称n为回文数

例如,n = 12321


代码:

#include <stdio.h>
int main()  
{  
    int m,n,k,count=0;  
    for(m=10; m<1000; m++)  
    {  
        k=m;  
        n=0;  
        while(k>0)  
        {  
            n=n*10+(k%10);  
            k=k/10;  
        }  
        if(m == n)
    {
      printf("%d\t", m);
          if(++count%5==0) printf("\n");
        }
    }
    printf("\nTotal:%d\n", count);
    return 0;     
}



输出:

11       22       33       44       55

66       77       88       99      101

111     121     131     141     151

161     171     181     191     202

212     222     232     242     252

262     272     282     292     303

313     323     333     343     353

363     373     383     393     404

414     424     434     444     454

464     474     484     494     505

515     525     535     545     555

565     575     585     595     606

616     626     636     646     656

666     676     686     696     707

717     727     737     747     757

767     777     787     797     808

818     828     838     848     858

868     878     888     898     909

919     929     939     949     959

969     979     989     999

Total:99




3. 计算位于矩阵边缘的元素之和


输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。


示例:

输入:3 3

3 4 1

3 7 1

2 0 1

输出:15

解释:15 = 3+4+1+3+1+2+0+1。第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以一个空格分开。 接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。


代码:

#include<stdio.h>
int main()
{
    int a[256][256];
    int n,m,i,j,sum=0;
    scanf("%d %d",&n,&m);
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
        {
            scanf("%d",&a[i][j]);
            if (i == 1 || i == n || j == 1 || j == m) sum += a[i][j];
        }
    }
    printf("%d",sum);
    return 0;
}


输入输出:

3 3

3 4 1

3 7 1

2 0 1

15

目录
相关文章
|
Linux 监控 Ubuntu
Linux 终端操作命令(1)
Linux 终端操作命令(1)
231 1
Linux 终端操作命令(1)
|
算法 Java Go
Rust每日一练(Leetday0018) N皇后II、最大子数组和、螺旋矩阵
Rust每日一练(Leetday0018) N皇后II、最大子数组和、螺旋矩阵
206 1
Rust每日一练(Leetday0018) N皇后II、最大子数组和、螺旋矩阵
|
Linux 监控 Shell
Linux 终端命令之文件浏览(4) head, tail
Linux 终端命令之文件浏览(4) head, tail
200 0
Linux 终端命令之文件浏览(4) head, tail
|
Shell Linux 机器学习/深度学习
Linux 终端操作命令(3)内部命令用法
Linux 终端操作命令(3)内部命令用法
227 0
Linux 终端操作命令(3)内部命令用法
|
Python Linux Ubuntu
Linux系统部署Python语言开发运行环境
Linux系统部署Python语言开发运行环境
522 0
Linux系统部署Python语言开发运行环境
|
Go Unix 开发者
Go语言time库,时间和日期相关的操作方法
Go语言time库,时间和日期相关的操作方法
391 0
Go语言time库,时间和日期相关的操作方法
|
C++ 存储 Serverless
力扣C++|一题多解之数学题专场(2)
力扣C++|一题多解之数学题专场(2)
220 0
力扣C++|一题多解之数学题专场(2)
|
Go 机器学习/深度学习 Rust
Golang每日一练(leetDay0119) 反转字符串I\II Reverse String
Golang每日一练(leetDay0119) 反转字符串I\II Reverse String
318 0
Golang每日一练(leetDay0119) 反转字符串I\II Reverse String
|
Java Go C++
Golang每日一练(leetDay0115) 重新安排行程、递增的三元子序列
Golang每日一练(leetDay0115) 重新安排行程、递增的三元子序列
150 0
Golang每日一练(leetDay0115) 重新安排行程、递增的三元子序列
|
Java Go C++
Golang每日一练(leetDay0111) 摆动排序II\I Wiggle Sort
Golang每日一练(leetDay0111) 摆动排序II\I Wiggle Sort
192 0
Golang每日一练(leetDay0111) 摆动排序II\I Wiggle Sort