每日一题c语言 (c语言刷题app)

c语言刷题每日一题视频,每日一题c语言刷题

知识点:

(1)取数位;

(2)循环语句中continue的作用;

(3)质数的判断

(4)完全平方数

#include<stdio.h>
#include<math.h>
int main(){
    int a, b;
    // 定义一个位数变量
    int n1, n2, n3, n4;
    int num1, num2;
    int j,tmp,count = 0;
    // 输入两个数
    scanf("%d%d", &a, &b);
    // [a, b] 范围内的数
    for (int i = a; i <= b; i++){
        // 循环语句中使用continue,表示退出本次循环而强行执行下一次循环 
        // 满足条件1;
        if (i % 6 != 0) continue;
        n1 = i % 10;  // 个位
        n2 = i % 100 / 10; // 十位
        n3 = i % 1000 / 100;  // 百位
        n4 = i / 1000;    // 千位
        // AB = n4 * 10 + n3;
        // CD = n2 * 10 + n1;
        num1 = n4 * 10 + n3;  // 条件2
        num2 = n2 * 10 + n1;  // 条件3
        // 判定是否是质数
        for(j = 2; j * j <= num1; j++){
            if (num1 % j == 0) {
                break;
            }
        }
        tmp = sqrt(num2);
        if (j * j <= num1 || tmp * tmp != num2) continue;
        count++;
        if (count > 1){
            printf(" ");     
        }
        printf("%d", i);
    }    
    printf("\n%d\n", count);
    return 0;
}