美文网首页
算法小结---三颗星

算法小结---三颗星

作者: 秘果_li | 来源:发表于2017-11-12 19:01 被阅读0次

First

小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。
魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币
魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币
小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需要你帮他设计一个投入方案使他最后恰好拥有n个魔法币。

从n开始倒推,在两个魔法机器之间选择,期间一直保持为整数,直到n==0,得出的魔法机器字符标记存入数组,此时的顺序为逆序,输出时需要逆置.

#include<stdio.h>
int fun1(int x){
    int t=(x-1)/2;
    if((x-1)%2==0)
        return t;
    else return -1;
}
int fun2(int x){
    int t=(x-2)/2;
    if((x-2)%2==0)
        return t;
    else return -1;
}
int main(){
    int need;
    int i=0;
    int j;
    scanf("%d",&need);
    char str[30];
    while(need){
        if(fun1(need)!=-1){
            need=fun1(need);
            str[i++]='1';
        }
        else if(fun2(need)!=-1){
            need=fun2(need);
            str[i++]='2';
        }
    }
   for(j=i-1;j>=0;j--){
       printf("%c",str[j]);
   }
}

Second

为了得到一个数的"相反数",我们将这个数的数字顺序颠倒,然后再加上原先的数得到"相反数"。例如,为了得到1325的"相反数",首先我们将该数的数字顺序颠倒,我们得到5231,之后再加上原先的数,我们得到5231+1325=6556.如果颠倒之后的数字有前缀零,前缀零将会被忽略。例如n = 100, 颠倒之后是1.

此处为正整数的逆置

#include<stdio.h>
int main(){
    int num;
    int r=0;
    scanf("%d",&num);
    int f=num;
    while(num){
        r=r*10+num%10;
        num=num/10;
    }
    printf("%d",(r+f));
}

Third

一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。

DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字放在这个位置。

import java.util.Scanner;
import java.text.DecimalFormat;
public class Main{
    public static void main(String [] args) {
         Scanner sc = new Scanner(System.in);
         String str = sc.nextLine();
         float n=1;
         for(int i=1;i<str.length();i++){

         if(str.charAt(i)!=str.charAt(i-1)){
             n++;
         }
        }
        DecimalFormat df = new DecimalFormat("#.00");
             System.out.println(df.format(str.length()/n));
  }
}

相关文章

  • 算法小结---三颗星

    First 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两...

  • ***per se 3

    此行前三颗星

  • 临时缓存

    Learning to rank基本算法小结

  • 【职场蓄力】读书笔记05——《超级自控力》

    推荐指数:三颗星 易读指数:四颗星 实用指数:三颗星 这本书从情绪、习惯、心态、诱惑、目标、言行、时间、意志等几个...

  • 三颗星

    命运之神眷顾了我 送给了我三颗明星 他说星星可以带来你想要的幸福 而我却想把它们送给我此生最爱的人 第一颗 明亮之...

  • 三颗星

    三颗星 我们曾经许诺的星星 它们望着我们 始终在我们的生命中负担着 我们的诗 就在我们将穿旧的鞋上 那荒山野岭的花...

  • 三颗星

    夜晚无意之中的一抬头,再次看到了那三颗星,有惊喜,有安心,有亲切之感,就像许久未见的老朋友一般,特别开心能与它们在...

  • 2021-8-26日记 世事无常

    今天是什么日子 起床:7:30 就寝:1:00 天气:三颗星 心情:三颗星 纪念日:老王驾到(要谈去水务的事情) ...

  • 参与感:小米吹文

    内容比较散,有些案例值得看下,三颗星。

  • 值得

    米其林有三颗星 一颗星是值得去的餐厅,两颗星是值得绕远路去的餐厅,三颗星是值得特别安排一趟旅行去的餐厅 而你是第三...

网友评论

      本文标题:算法小结---三颗星

      本文链接:https://www.haomeiwen.com/subject/vrdomxtx.html