蓝桥杯备赛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();
    }
}
相关推荐
小羊没烦恼!36 分钟前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
倒头就睡的小比特42 分钟前
算法竞赛C++常用的STL
c++·算法
默_笙1 小时前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
weilx12341 小时前
C++笔记-文件IO-<fcntl.h>
c++
俊昭喜喜里1 小时前
java中的继承和多态的区别
java
小羊没烦恼!1 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_426003961 小时前
启动playwright录制codegen生成自动化测试脚本
python·自动化
譕痕1 小时前
JSONObject与JSONArray封装数据格式区别
java·json
虎头金猫1 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
胡写代码1 小时前
别再前后端各写一套表单校验了
java·后端