程序书海码农的世界

蓝杯三十六

2018-02-01  本文已影响5人  逍遥_9353

算法训练 数位分离 

时间限制:1.0s  内存限制:512.0MB

提交此题   

问题描述

  编写一个程序,输入一个1000 以内的正整数,然后把这个整数的每一位数字都分离出来,并逐一地显示。

  输入格式:输入只有一行,即一个1000以内的正整数。

  输出格式:输出只有一行,即该整数的每一位数字,之间用空格隔开。

  输入输出样例

样例输入

769

样例输出

7 6 9

#include <stdio.h>

void getResult(int num)

{

    //出口

    if(num<10)

    {

        printf("%d ",num);

        return ;

    }

    //递归

      getResult(num/10);

 

  printf("%d ",num%10);

}

int main()

{

  int n; 

  scanf("%d",&n);

  getResult(n);

  printf("\n");

  return 0;

}

思路分析:

①定义变量:一个小于1000的整数;

②输入整数;

③调用函数将每个数字分离:如果该数小于10,则输出;如果该数大于10,则用递归将其分离并输出。

算法训练 6-2递归求二进制表示位数 

时间限制:10.0s  内存限制:256.0MB

提交此题   

问题描述

  给定一个十进制整数,返回其对应的二进制数的位数。例如,输入十进制数9,其对应的二进制数是1001,因此位数是4。

样例输入

一个满足题目要求的输入范例。

9

样例输出

9

4

与上面的样例输入对应的输出。

数据规模和约定

  输入数据中每一个数的范围。

  例:输入在int表示范围内。

#include"stdio.h"

int main()

{

  long int n;

    int s=0;

    scanf("%d",&n);

    while(n!=0)

{

      s++;

      n=n/2;

}

printf("%d\n",s);

return 0;

思路分析:

①定义变量:一个十进制整数,位数(初始化为0);

②输入十进制整数;

③循环直至该数为0跳出,位数加1,转变为二进制是该数被2整除;

④输出位数。

算法训练 友好数 

时间限制:1.0s  内存限制:256.0MB

提交此题   

问题描述

  有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的。例如:

  9的约数和有:1+3=4

  4的约数和有:1+2=3

  所以9和4不是友好的。

  220的约数和有:1 2 4 5 10 11 20 22 44 55 110=284

  284的约数和有:1 2 4 71 142=220

  所以220和284是友好的。

  编写程序,判断两个数是否是友好数。

输入格式

  一行,两个整数,由空格分隔

输出格式

  如果是友好数,输出"yes",否则输出"no",注意不包含引号。

样例输入

220 284

样例输出

yes

数据规模和约定

  两个整数都小于10000

#include "stdio.h"

int fun(int n){

    int count=0,i;

    for(i=1;i < n;i++){

        if(n % i==0){

            count+=i;

        }

    }

    return count;

}

int main(){

    int num1,num2;

    int a,b;

    scanf("%d%d",&num1,&num2);

    b=fun(num1);

    a=fun(num2);

    if(a==num1 && b==num2){

        printf("yes\n");

    }

    else{

        printf("no\n");

    }

    return 0;

}

思路分析:

①定义变量:两个整数;

②输入两个整数;

③调用函数:

(1) 定义变量:约数,约数和(初始化为0);

(2)for语句循环(从1开始,循环到该数),用if语句判断该数是否被约数整除余数为0,如果为0,则累加;

(3)返回值为约数和;

④if语句判断是否为友好数,如果是则输出yes,否则则为no。

上一篇 下一篇

猜你喜欢

热点阅读