求大神,C语言编程求,100以内两个数,和差都是平方数,不要思路,要程序,谢谢

来自:    更新日期:早些时候
求VB编程100以内的所有自然数对。自然数对指其和与差都是平方数的两个自然数。例如6 10=16.而16和4都是...~

你好,我来为你解答:
Private Sub Command1_Click()
Dim i%, j%, m!, n!
For i = 1 To 100
For j = i + 1 To 100
m = Sqr(i + j)
n = Sqr(j - i)
If Fix(m) = m And Fix(n) = n Then Print i, j
Next
Next
End Sub

a=sqrt(m-n);
a=sqrt(m+n);
放到for(n=1;n<100;n++){


}中,和下面一句同时用{}括起来

#include<stdio.h>
/*假设这两个数为x,y; x+y=a,x-y=b;a、b都是平方数
 *可得x=(a+b)/2,y=(a-b)/2
 *因为x必须是在100以内,所以a的范围是200以内的平方数(b为0的时候)
 *x,y必须是整数,所以a和b必须同奇同偶,观察数组可知奇偶数互相间隔,
 *所以j每次循环+2
 */
int main()
{
    int num[15]={0,1,4,9,16,25,36,49,64,81,100,121,144,169,196}; //200以内的平方数
    int i,j,temp;
    for(i = 0;i < 15;i++)
    {
        for(j = i + 2;j < 15;j += 2)
        {
            if(num[i] + num[j] > 200)
                break;
            printf("%d %d
",(num[i]+num[j])/2,(num[j]-num[i])/2);
        }
    }
    return 0;
}


用两个for循环分别是1——100

还有是for循环1--15
直接试
当然是不考虑时间复杂度和空间复杂度的情况下
sqr(i-j)等不等于其中的任何一个
sqr(i+j)是不是也是
当然是&&

Private Sub Command1_Click()
For i = 1 To 99
For j = 1 To 99
If i = j Then Exit For
If Sqr(i + j) = Int(Sqr(i + j)) And Sqr(Abs(i - j)) = Int(Sqr(Abs(i - j))) Then
Debug.Print i & " " & j
End If
Next j
Next i
End Sub
结果
5 4
10 6
13 12
17 8
20 16
25 24
26 10
29 20
34 30
37 12
40 24
41 40
45 36
50 14
52 48
53 28
58 42
61 60
65 16
65 56
68 32
73 48
74 70
80 64
82 18
85 36
85 84
89 80
90 5497 72

#include <stdio.h>
#include <math.h>
int main()
{
 int i,j,m,n,k1,k2;
 for(i=1;i<=100;i++)
 {
  for(j=1;j<=100;j++)
  {
   m=i-j;
   if(m<0)
    m=-m;
   n=i+j;
   k1=int(sqrt(m));
   k2=int(sqrt(n));
   if((k1==sqrt(m))&&(k2==sqrt(n)))
    printf("%d     %d
",i,j);
  }
 }
}



求大神,C语言编程求,100以内两个数,和差都是平方数,不要思路,要程序,谢谢视频

相关评论:
  • 17154755482求C语言大神帮忙编写一个程序,按要求写出来。
    糜震强include <stdio.h> define MAX 20\/* userCode(<100字符): 自定义函数之原型声明 *\/ void rotate( int (*arrA)[MAX], int (*arrB)[MAX], int m, int n);int main(void){ int arrA[MAX][MAX], arrB[MAX][MAX], i, j, m, n;printf("请输入 m n: ");scanf("%d %d", &...

  • 17154755482C语言编一个小学生算术题程序,求大神!!
    糜震强scanf("%c",&sl);srand((unsigned)time(NULL));switch(sl) { case 'a' :case 'A' :for(i = 0; i < n; ++i) { do { a = rand()%100;b = rand()%100;}while(a + b >= 100);do { printf("%d+%d=",a,b);scanf("%d",&an);}while(an != a + b);} break;...

  • 17154755482求C语言大神:(用c语言中的switch语句和if语句写)
    糜震强include <stdio.h>void main(){float x = 0.0;\/\/用电度数float y = 0.0;\/\/应收费用scanf("%f",&x);if (x <= 100){\/\/在100度以下的普通客户每度电收0.5元;y = x*0.5;}else if ( x > 100 && x <= 300){\/\/超过100度低于300度超过部分每度收0.8元y = 100*0.5 + ...

  • 17154755482C语言求1-100奇数的个数
    糜震强include <stdio.h> int main(void){ int i;int j = 0;int am = 0;for (i = 1; i <= 100; i += 2){ j = j + i;if (i% 2 == 1) \/\/这里是i%2,实际上这个条件没必要,因为i+=2了,肯定是奇数 ++am;} printf("请输出1-100 中所有奇数的和= %d\\n", j);printf...

  • 17154755482求助c语言程序,计算下列多项式前100项的和并输出结果并保留两位小数。S...
    糜震强include "stdio.h"int main(){ int i,t=1;double s=0;for(i=1;i<=2;i++){s=s+1.0\/(t*i);t=-t;} printf("%f",s);}

  • 17154755482c语言编程求助,越多越好我可以加,一题也行,感谢大神!
    糜震强1#include<stdio.h>int prime(int n){ int flag=1; if(n<=1) return 0; for(int i=2;i*i<=n;i++){ if(n%i==0){ flag=0; break; } } if(flag) return 1; else return 0;}int main(){ int t; scanf("%d",&t); if(prime(t...

  • 17154755482求大神C语言写一下
    糜震强贴一个我的思路:int index; \/\/ 范围 : 1- 10^5 int类型够了、printf("请输入index:范围 1- 10^5 ")scanf("%d",&index);int *p = (int*) malloc(sizeof(int )*index);\/\/ 赋值 int i = 0; \/\/ 循环变量 for(i = 0; i< index ; i++){ printf(“...

  • 17154755482C语言编程题求解!求大神助!在线等!
    糜震强include <stdio.h> int main(void) { char *s = "***";for (int i = 7; i >= 4; i--)printf("%*s\\n", i, s);return 0;} include <stdio.h> int main(void) { for (int n = 0; n < 4; n++) { for (int i = 0; i < n; i++)putchar(' ');for (int ...

  • 17154755482c语言中指向结构体指针问题,求大神,为甚么printf("%d",*p);错误*去掉...
    糜震强应该是长整型数字,s[0].num是结构体数组中的一个普通整型数字,p=(struct student*)s[0].num;这一行虽不报错,但p指向的单元的内容是未知的,类型也是未知的,不建议这样做;所以printf("%d",*p);这一行以数字格式输出*p就报错了,把*去掉,输出的就是指针,就是前面强行赋值的100。

  • 17154755482c语言求大神帮忙解决编程问题
    糜震强if (i%7==0) 能被7整除。用 n 计数,满5个则换行。include<stdio.h> int main(){ int i,n=0;for (i=100;i<=1000;i++){ if (i%7==0) {printf("%d ",i); n++;}; \/\/输出和计数 if (n==5){printf("\\n");n=0;}; \/\/换行控制 };return 0;} ...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网