毛学姐大战学渣!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;
}


相关文章
|
9月前
|
编解码 算法 前端开发
|
11月前
南桥杯:蚂蚁感冒
南桥杯:蚂蚁感冒
42 0
端午特供——小朋友都会写的【狂扁·大粽子】
端午特供——小朋友都会写的【狂扁·大粽子】
79 0
|
编译器 Linux 程序员
身价过亿的帝都富豪对小码农说预处理学的不错
身价过亿的帝都富豪对小码农说预处理学的不错
146 0
身价过亿的帝都富豪对小码农说预处理学的不错
|
存储 Linux
身价过亿的帝都富豪对小码农说顺序表会了吗
身价过亿的帝都富豪对小码农说顺序表会了吗
115 0
身价过亿的帝都富豪对小码农说顺序表会了吗
|
存储
身家过亿的帝都富豪来参加1024节专属盛典,小码农献上单链表一篇来庆祝盛典
身家过亿的帝都富豪来参加1024节专属盛典,小码农献上单链表一篇来庆祝盛典
75 0
身家过亿的帝都富豪来参加1024节专属盛典,小码农献上单链表一篇来庆祝盛典