3 条题解

  • 3
    @ 2022-9-21 11:16:56

    哈喽哈喽这里是桉

    入门题的题解就给大家举几种做出本题的方法吧。

    首先我们可以知道本题是求n+1以内所有奇数的和

    那么我们就有种选择可以供参考。


    ——壹。在for循环的步长中调整

    这个方法其实就是利用自然数会一奇一偶的性质。

    我们将步长调整为2

    #include <bits/stdc++.h>
    using namespace std;
    int n,ans;
    int main()
    {
    	scanf("%d",&n);
    	for(int i=1;i<=n;i+=2)//就是这里
    	{
    		ans+=i;
    	}
    	printf("%d",ans);
    	return 0;
    }
    

    ——贰。在循环中判断

    因为奇数对2取余是除不尽的。

    所以我们可以在循环中判断i%2是否为0。

    #include <bits/stdc++.h>
    using namespace std;
    int n,ans;
    int main()
    {
    	scanf("%d",&n);
    	for(int i=1;i<=n;i++)
    	{
    		if(i%2==1) ans+=i;
    	}
    	printf("%d",ans);
    	return 0;
    }
    

    以上就是桉提供的本题的两种解法。

    其实吧。我思索了一下好像打表也不是不行。

    打表不是正解!别听我瞎叭叭。

    好啦就到这里了。有帮助的话记得点个赞耶。

    信息

    ID
    1106
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    141
    已通过
    76
    上传者