毛学姐大战学渣!T^T

简介: 毛学姐大战学渣!T^T

题目传送门

1.png


解题思路:

这道题通读一遍是一个数学归纳题???

112 1113 11114 111115……1的个数在依次加一,第3个数是2,第3+4个数是3,第3+4+5个数是4……emmmm,我一开始的思路是采用for循环,用i表示第i个数,然后,i+a依次增加,a也在增加,但是这个思路没成功,写了一个死循环,我就放弃了……换了另一个思路是弄一个数组,将所有不输出1的i都放进去,但是不能够输出i个数时,第i个数对应的数是多少。(知识匮乏)……还是选用while循环吧。

接下来讲一下我的while循环的思路,先上代码了:

#include <stdio.h>
int main(void)
{
    int n;
    while(scanf("%d",&n) != EOF){
    int sum = 3;
    int count = 2;
    int flag = 4;
    while(1){
        if (sum == n){
            printf("%d\n",count);
            break;
        }
        else if (sum > n){
            printf("1\n");
            break;
        }
        else{
            sum+=flag;
            flag++;
            count++;
        }
        }
    }return 0;
}

um代表第i个数的i;count是从2开始依次递增的数;flag代表 从2开始依次递增时i的变化;将sum与n进行比较,小的时候,就让sum,count,flag分别递增,直至sum大于等于n。sum大于n就直接输出1即可,等于n就输出count值。

后来for循环代码找到了,果然是我的C语言问题,不是思路问题,sad~

代码如下:

2.png

再贴上两个代码,,留给自己参考……

#include <stdio.h>
int main()
{
    int i,n;
    int arr[100005];
    int tag = 2, tmp = 0;
    for(i = 1; i <= 100000; i++){
        if(tmp == tag){
            arr[i] = tag;
            tmp = 0;
            tag++;
        }
        else{
            arr[i] = 1;
            tmp ++;
        }
    }
    while(scanf("%d",&n) != EOF) {
        printf("%d\n", arr[n]);
    }
    return 0;
}
#include <stdio.h>
int arr[100005];
int main()
{
    int n;
    while(scanf("%d", &n) != EOF) {
        int sum = 0;
        int tag = 2;
        while(1){
            if(sum > n){
                printf("1\n");
                break;
            }
            if(sum == n){
                printf("%d\n", tag - 1);
                break;
            }
            sum += tag + 1 ;
            tag++;
        }
    }return 0;
}


相关文章
|
JSON Shell PHP
ctfshow 新年欢乐赛
ctfshow 新年欢乐赛WP
225 0
ctfshow 新年欢乐赛
|
JavaScript PHP
CTFSHOW 愚人节欢乐赛
CTFSHOW 愚人节欢乐赛WP
236 0
CTFSHOW 愚人节欢乐赛
|
Java 程序员
都几套房了,还写个毛的代码!
好久没有和大家交心了,最近又来了好些个新朋友,可能对公众号和博主还不太熟悉,那就先从最近一个知识星球粉丝说起吧,《都几套房了,还写个毛的代码!》标题的中心思想就来源于此,这说起来有点难以置信,但值得反思。
|
消息中间件 IDE Cloud Native
罗美琪和春波特的故事...
rocketmq-spring 经过 6 个多月的孵化,作为 Apache RocketMQ 的子项目正式毕业,发布了第一个 Release 版本 2.0.1。这个项目是把 RocketMQ 的客户端使用 Spring Boot 的方式进行了封装,可以让用户通过简单的 annotation 和标准的 Spring Messaging API 编写代码来进行消息的发送和消费。
罗美琪和春波特的故事...
|
Linux Python
一位九年北漂人生活感触
一位九年北漂人生活感触
2886 0
四年一度的菲尔兹奖揭晓,4位数学家折桂
2018年菲尔兹奖8月1日在巴西里约热内卢市举行的第28届国际数学家大会上揭晓,获奖者为伊朗裔数学家Caucher Birkar、意大利数学家Alessio Figalli、德国数学家Peter Scholze,以及印澳裔数学家Akshay Venkatesh。
1626 0
|
程序员
中国第一位程序员的悲哀,回国12年后,不堪受辱自杀身亡
本文讲述中国计算机之父董铁宝的故事。
3422 0
|
程序员 前端开发
北漂程序员的辛酸:年薪30多万,却活得像乞丐一样
程序员应该算是很光鲜的行业了,也是其他职业人士所羡慕和向往的。然而生活就像围城一样,不在其中不知其滋味,特别是在北上广深一带打拼的程序员,其生活状况可能没有我们想象的那么光鲜。
1012 0