• 第四周:循环控制


    1
    素数和(5分)

    题目内容:

    我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。

    现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

    输入格式:

    两个整数,第一个表示n,第二个表示m。

    输出格式:

    一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

    输入样例:

    2 4 

    输出样例:

    15

    时间限制:500ms内存限制:32000kb
     
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <stdbool.h>
    
    bool checkIsPrime(int number){
        if(number<2){
            return false;
        }
        for(int i=2;i<=sqrt(number);i++){
            if(number%i == 0){
                return false;
            }
        }
        return true;
    }
    
    
    int main(int argc, const char * argv[]) {
        int m,n;
        scanf("%d %d", &m,&n);
            int count = 0;
        int number = 2;
        int primeNums[200];
        while(1){
            if(checkIsPrime(number)){
                primeNums[count] = number;
                count++;
                if(count>=200){
                    break;
                }
            }
            number++;
        }
        
        int total = 0;
        for (int i=m;i<=n;i++){
            total = total+primeNums[i-1];
        }
        printf("%d
    ", total);
        return 0;
    }
    

      

    2
    念整数(5分)

    题目内容:

    你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。

    如输入1234,则输出:

    1. yi er san si

    注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:

    1. fu er san si yi

    输入格式:

    一个整数,范围是[-100000,100000]。

    输出格式:

    表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

    输入样例:

    -30

    输出样例:

    fu san ling

    时间限制:500ms内存限制:32000kb
     
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <stdbool.h>
    
    
    int main(int argc, const char * argv[]) {
        const char* numberStrArr[] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
        int number;
        scanf("%d", &number);
        if (number<0){
            printf("fu ");
            number = -number;
        }
        int outputNumberArr[6] = {0};
        int temp = number;
        int index = 0;
        do{
            int n  = temp%10;
            outputNumberArr[index] = n;
            index = index+1;
            temp = temp/10;
        }while (temp != 0);
        
        
        for(int i=index-1;i>=0;i--){
            printf("%s", numberStrArr[outputNumberArr[i]]);
            if(i>0){
                printf(" ");
            }
        }
        printf("
    ");
    }
    

      

  • 相关阅读:
    路径规划 Adjacency matrix 传球问题
    Graph
    n的阶乘的n次方根的倒数的序列为无穷小序列
    原文来自 url get
    对称加密 非对称加密 生活模型
    签名 sign key 纸质邮件 历史 RSA诞生历史
    离散数学图论
    内联函数
    由适当地放宽不等式 概括出 一个引理
    序列 有界 无界的证明
  • 原文地址:https://www.cnblogs.com/ColaZhang/p/5933664.html
Copyright © 2020-2023  润新知