求大佬帮助解惑。是c语言
(注意:3+5和5+3认为是同一对数)。
给你写好了:
#include <stdio.h>
int main()
{
int n=0,x=1,y=1;
for(x=1; x<=100; x++){
for(y=1;y<=100;y++)
if((x+y)%3==0&&(x+y)%7==0&&x!=y) {
n++;
}
}
printf("%d",n/2);
return 0;
}
双重循环就行了哦
int main()
{
int count = 0;
for(int i=1;i<=100;i++)
for(int j=i;j<=100;j++)
{
int n = i+j;
if((n%3==0) && (n%7==0))
{
printf("%d %d \n",i,j);
count++;
}
}
printf("共有%d对数\n",count);
return 0;
}
用双层循环扫一遍就行
代码如下
有帮助望采纳
#include <stdio.h>
#define max 101
int main()
{
int count = 0;
for (int i = 1; i < max; i++)
{
for (int j = i; j < max; j++)
{
if ((i + j) % 21 == 0)
{
// printf("%d %d\n", i, j);
count++;
}
}
}
printf("%d", count);
}
代码如下:
#include <stdio.h>
int main()
{
int count=0;
int x,y;
for(x=1; x<=100; x++)
{
for(y=1;y<=100;y++)
{
if((x+y)%3==0&&(x+y)%7==0)
{
if(x!=y)
{
count++;
}
}
}
}
printf("%d",count/2);
return 0;
}
答案236
void main(void){
int cnt = 0;
int i, j;
for (i = 1; i <= 199; i++) //1到100内的两不同数之和最大为199
{
if (i % 21 == 0) //被3和7整除一定是21的倍数
for (j = 1; j <= ((i - 1) >> 1); j++)
{
if (i - j <= 100) cnt++; //约束一下,数对中有大于100的数则不加入答案
}
}
printf("共有%d对数", cnt);
return;
}