当前位置: 代码迷 >> C语言 >> 一道编程,希望得到C狂人帮助!
  详细解决方案

一道编程,希望得到C狂人帮助!

热度:113   发布时间:2007-04-24 09:30:04.0
一道编程,希望得到C狂人帮助!
问题如下:如某一整数A,其平方数B的个位数与A或其个位数相同,如A和B均在1-1000正整数范围内,求符合上述条件的所有A和所有B的累加值。
可按以下三类方式之一解题:
⑴Fortran、C等正式编程语言规范书写
⑵编程流程框图(格式需符合正式编程规范,如判断用菱形框图)
⑶中文分步骤逻辑说明
搜索更多相关的解决方案: 狂人  

----------------解决方案--------------------------------------------------------
其平方数B的个位数与A或其个位数相同

这句话没看懂!

前半句看懂了,后半句不明白
----------------解决方案--------------------------------------------------------
回复:(mjforever1)一道编程,希望得到C狂人帮助!

意思就是A也许是10以下的整数或者是10以上的数!


----------------解决方案--------------------------------------------------------

大虾来帮忙啊!


----------------解决方案--------------------------------------------------------
第一印象:穷举
----------------解决方案--------------------------------------------------------
大家都来帮帮忙啊,都可以发表发表观点,无论什么办法啊!
----------------解决方案--------------------------------------------------------
A的平方B A*A=B
只有当A的个位数是,1,5,6种的一个,才能满足你的要求(1*1=1,5*5=25......)
下面的自己想想,你可以的
----------------解决方案--------------------------------------------------------
#include <iostream>
void main()
{
int i,s; //定义 i s 两个量
for(i=1,i<1000,i++); //for循环 取1000以内正整数
{if (i*i%10=i%10) //取模
s=s+i*i+i;
cout<<s<<endl; //输出结果
}
}
大家帮我看看啊

----------------解决方案--------------------------------------------------------

#include<stdio.h>

int sum=0;
int sub(int a);

void main()
{
int a[3]={1,5,6};
int i;
for(i=0;i<3;i++)
{
sub(a[i]);
}
printf("结果:%d\n",sum);
}

int sub(int a)
{
int b;
for(;a;a+=10)
{
b=a*a;
if(b<1000)
{
sum=sum+a+b;
}
else
break;
}
return 1;
}

结果:3524


----------------解决方案--------------------------------------------------------
以下是引用mjforever1在2007-4-24 10:12:17的发言:
#include <iostream>
void main()
{
int i,s; //定义 i s 两个量
for(i=1,i<1000,i++); //for循环 取1000以内正整数
{if (i*i%10=i%10) //取模
s=s+i*i+i;
cout<<s<<endl; //输出结果
}
}
大家帮我看看啊

这个运行时间长,而且你只控制了i<1000没有,控制i*i<1000;

[此贴子已经被作者于2007-4-24 10:29:10编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案