永发信息网

累加和等于n的自然数段

答案:4  悬赏:50  手机版
解决时间 2021-03-21 04:12
  • 提问者网友:咪咪
  • 2021-03-20 13:43
从键盘输入一个自然数n,找出所有连续的自然数
段 (有不少于2个数),每个连续的自然数段中的全
部数之和为n,如果有符合上述条件的自然数段,
则输出这些自然数段中每段的第一个数和最后一个
数,两数之间用符号~隔开,每段一行,所有行按
每行的第一个数从小到大升序排列。如果没有符合
上述条件的自然数段,则输出None。例如,
输入:10000 输出:18~142
297~328
388~412
1998~2002

c语言 具体程序 谢谢
最佳答案
  • 五星知识达人网友:污到你湿
  • 2021-03-20 14:04
#include
main()
{
int n,flag=0,i,j;
scanf("%d",&n);
for(i=1;i<=n/2;i++)
{
for(j=i+1;j<=n-i;j++)
{
if((i+j)*(j-i+1)==2*n)
{
printf("%d~%d\n",i,j);
flag=1;
}
}
}
if(flag==0)
printf("None\n");
return 0;
}
全部回答
  • 1楼网友:街头电车
  • 2021-03-20 16:24
这是编程问题啊 弄个i,从1开始一点点加呗
  • 2楼网友:鱼忧
  • 2021-03-20 15:41
这是编程问题啊 弄个i,从1开始一点点加呗
  • 3楼网友:荒野風
  • 2021-03-20 15:35

#include<stdio.h>
void main()
{
 int i=1,r=0,n;
 scanf("%d",&n);
 while (i<=n){
  r+=i;
     i++;}
    printf("%d",r);

}现在没电脑只找到这个啊~~你先试试吧··

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯