1.哀家要长脑子了!

1.特别数的和 - 蓝桥云课 (lanqiao.cn)

给定一个n,就从1到n遍历,只要含有2、0、1、9的就把它加起来 但是注意 加完就要break了,因为满足多个条件的只能加一次。举个例子,29既含有2又含有9,但是只能加一次。

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int sum = 0;
    for(int i = 1; i < n; i++){
        int x = i;
            while(x != 0){
                t = x % 10;
                x /= 10;
            if( t==2 || t==0 || t==1 || t==9){
                sum += i;
                break;
                }
            }
    }
    cout << sum;        
    return 0;
}

2.大衣的异或回文对 - 蓝桥云课 (lanqiao.cn)

1.用两个for循环嵌套 两两组合遍历 直接异或得出异或结果 然后判断这个结果是不是回文数字

2.怎么判断:把它反过来然后判断是不是跟原来的数字相等

3.怎么反过来:不断取出个位上的数字(通过%10来实现) 然后把它往前移(通过*10来实现)

4.异或结果是针对二进制来说的 为什么13异或27的结果是22:

        13的二进制表示:1101

        27的二进制表示:11011

        低位对齐 高位补零: 01101 ^ 11011 =10110 

         10110的十进制表示:22

3.疑似素数 - 蓝桥云课 (lanqiao.cn)

第一部分是求和 第二部分是判断素数

求和就是把通过取模10每个数拿出来相加 

素数:首先知道2是最小的素数 然后除了自己不要取模为0就好了

4.找到最多的数 - 蓝桥云课 (lanqiao.cn)

在小小的矩阵里面找呀找呀找

我就是想遍历这个二维数组,然后把他们的值作为一个新开的一维数组的的下标(可以想成一个桶子)然后一边放一边看 看哪个桶子里面的数字超过了这个矩阵的一半大小

然后我的天呢 就看到题解里面一个很Dior的

他把这个矩阵用一维数组来存储,然后对其进行排序,如果谁超过了一半,那么肯定包含这个一维数组最中间的那个数字,直接输出中间那个数字。

#include<bits/stdc++.h>
using namespace std;
int main()
{
  int n ,m;

  int nums[1000000];
  cin >> n >> m;
  int t = 0;
  
  for(int i = 0; i < n; i++){
    for(int j = 0; j < m; j++){
        cin>>nums[t++];
    }
  }
  sort(nums,nums+t);

  cout << nums[t/2];
  return 0;
}

注意数组的大小

/import java.util.HashSet; import java.util.Objects; import java.util.Set; import java.util.TreeSet; public class Test1 { public static void main(String[] args){ Set<Test.Books> set = new HashSet<>(); TreeSet<Test.Books> tree = new TreeSet<>(); Test.Books books1 = new Test.Books(01,"坤坤成长史",520,"我的心"); Test.Books books2 = new Test.Books(02,"坤坤帅哥",1314,"我的脑子"); Test.Books books3 = new Test.Books(03,"双开门大冰箱",999,"我的幻想"); Test.Books books4 = new Test.Books(01,"坤坤成长史",520,"我的心"); set.add(books1); set.add(books2); set.add(books3); set.add(books4); //TreeSet(): 根据其元素的自然排序进行排序 tree.add(books1); tree.add(books2); tree.add(books3); tree.add(books4); System.out.println("HashSet:"); for(Test.Books s1 : set){ System.out.println(s1.getNumber() + s1.getname() + s1.getPrice() +s1.getPublisher()); } System.out.println("TreeSet:"); for(Test.Books s2 : tree){ System.out.println(s2.getNumber() + s2.getname() + s2.getPrice() +s2.getPublisher()); } } //Set没有带索引的方法 //TreeSet 无参构造方法 自然排序 让元素所属的类实现Comparable接口,重写compareTo方法 //重写方法,注意主要条件和次要条件 static abstract class Books implements Comparable<Books> { private int number; private String name; private double price; private String publisher; public Books(){ } Books(int number,String name,double price,String publisher){ super(); this.number = number; this.name = name; this.price = price; this.publisher = publisher; } public int getNumber(){ return number; } public String getname(){ return name; } public double getPrice() { return price; } public String getPublisher() { return publisher; } @Override public int hashCode() { return 0; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Books books = (Books) o; return number == books.number && Double.compare(books.price, price) == 0 && Objects.equals(name, books.name) && Objects.equals(publisher, books.publisher); } public int compareTo(Books s2){ return 1; } } }请帮我修改
06-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值