C语言加值完全平方数

题干:

       一个小于10000的正整数,它加上100后是一个完全平方数,它加上268又是一个完全平方数,请问该数是多少?输出所有这样的数字。要求用for循环完成。注:若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数,例如4=2*2,9=3*3,25=5*5

解题要求:注意输出的顺序,影响评分。 

       分析题意,可知要用两重循环外多次if判断完成 ,须得掌握循环之中break的用法方可解题

#include<stdio.h>
int main()
{
	int i,x,y,j,p;
	for(i = 0; i < 10000 ;i++)
	{
		x = i + 100;  //加值100
		y = i + 268;  //加值268
		for(j = 10 ; j < x/2 ; j++)  //此处从10开始,对应加值100;x/2作为终止值减少循环次数
		{
			if(j * j == x)
			{
				break;     //若在小于其自身一半的值中存在平方后等于自身的值,则提前结束循环
			}              //即 j != x/2
		}
		if( j != x/2)          //先满足加值100完全平方才可进入加值268的判断
        {
			for(p = 16 ; p < y/2 ; p++)  //从16开始,对应加值268
			{
				if(p * p == y)
				{
					break;
				}
			}
			if(p != y/2)        //同理对加值268进行判断 
			{
				printf("%d\n",i);   //同时满足两个if判断,输出符合题意的值
			}
		}
	}

    return 0;
}

欢迎大家批评指正嗷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙南花已开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值