蓝桥杯备赛day01:循环

这类题目较为简单,就不写解析了,提供三种语言的参考代码,欢迎在评论区讨论!

分离整数的各个位数
cpp 复制代码
#include<iostream>
using namespace std;
int main(){
	int n;
	cin>>n;
	while(n>0){
		cout<<n%10<<" ";
		n=n/10;
	}
	return 0;
}
python 复制代码
n = int(input())
while n > 0:
    print(n % 10, end=' ')
    n = n // 10
java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        while (n > 0) {
            System.out.print(n % 10 + " ");
            n = n / 10;
        }
        scanner.close();
    }
}
数字统计
cpp 复制代码
#include<iostream>
using namespace std;
int main()
{
    //读入L和R
    int L,R;
    cin>>L>>R;
    //范围[L, R]的所有整数
    int sum = 0;//sum和
    for(int i = L;i<=R;i++){//i遍历了L到R的所有数字
        int j = i;//i在循环里发生了变化,应该用别的数来存i。
        while(j>0){
            if(j%10==2){//判断此时的个位数是否是数字2.
               sum++;
            }
            j/=10;
        }
    }
    //输出
    cout<<sum;
    return 0;
}
python 复制代码
L, R = map(int, input().split())

sum_count = 0
for i in range(L, R + 1):
    j = i
    while j > 0:
        if j % 10 == 2:
            sum_count += 1
        j //= 10

print(sum_count)
java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int L = scanner.nextInt();
        int R = scanner.nextInt();
        int sumCount = 0;
        
        for (int i = L; i <= R; i++) {
            int j = i;
            while (j > 0) {
                if (j % 10 == 2) {
                    sumCount++;
                }
                j /= 10;
            }
        }
        System.out.println(sumCount);
        scanner.close();
    }
}
与7无关的数
cpp 复制代码
#include<iostream>
using namespace std;
 
bool isRelated(int n)
{
    if(n % 7 == 0)  // 能被7整除
        return true;
    while(n)    // 数字上有7
    {
        if(n % 10 == 7)
            return true;
        n /= 10;
    }
    return false;
}
 
int main()
{
    int n, sum = 0;
    cin >> n;
    for(int i = 1; i <= n; i++)
        if(!isRelated(i))   // 如果与7无关
            sum += i * i;
    cout << sum << endl;
    return 0;
}
python 复制代码
def is_related(n):
    if n % 7 == 0:  # 能被7整除
        return True
    while n > 0:    # 数字中有7
        if n % 10 == 7:
            return True
        n //= 10
    return False

n = int(input())
sum_of_squares = 0
for i in range(1, n + 1):
    if not is_related(i):  # 如果与7无关
        sum_of_squares += i * i

print(sum_of_squares)
java 复制代码
import java.util.Scanner;
public class Main {
    public static boolean isRelated(int n) {
        if (n % 7 == 0) {  // 能被7整除
            return true;
        }
        while (n > 0) {    // 数字中有7
            if (n % 10 == 7) {
                return true;
            }
            n /= 10;
        }
        return false;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int sumOfSquares = 0;
        
        for (int i = 1; i <= n; i++) {
            if (!isRelated(i)) {  // 如果与7无关
                sumOfSquares += i * i;
            }
        } 
        System.out.println(sumOfSquares);
        scanner.close();
    }
}
相关推荐
Chan163 分钟前
Java 集合面试核心:ArrayList/LinkedList 底层数据结构,HashMap扩容机制详解
java·数据结构·spring boot·面试·intellij-idea
Boop_wu4 分钟前
[Java EE] 多线程 -- 初阶(2)
java·开发语言·jvm
q***98526 分钟前
Spring Boot(快速上手)
java·spring boot·后端
凌凌010 分钟前
macOS安装SDKMAN
java
百***920212 分钟前
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(上)
java·spring boot·后端
青山的青衫17 分钟前
【Java基础07】链表
java·开发语言·链表
麦麦鸡腿堡23 分钟前
Java事件处理机制
java·开发语言·python
Elias不吃糖35 分钟前
epoll 事件全集、每个事件的含义、哪些事件在实际服务器中最常见、哪些会组合出现
linux·c++·event
AA陈超40 分钟前
ASC学习笔记0017:返回此能力系统组件的所有属性列表
c++·笔记·学习·ue5·虚幻引擎
小画家~1 小时前
第二十八:golang Time.time 时间格式返回定义结构体
java·前端·golang