竞赛
考级
#include <bits/stdc++.h> using namespace std; int a[2001] = {6}; int c[10] = {6,2,5,5,4,5,6,3,7,6}; int get_num,num1,num2; int main(void) { cin >> get_num; for (int i = 1;i <= 2000;i++) { num2 = i; while (num2 >= 1) { a[i] = a[i] + c[num2 % 10]; num2 /= 10; } } num1 = 0; for (int i = 0;i <= 1000;i++) { for (int j = 0;j <= 1000;j++) { if (get_num == a[i] + a[j] + a[i + j] + 4) { num1++; } } } cout << num1; return 0; }
西伯利亚种土豆
xm™
#include <bits/stdc++.h> using namespace std; int number[10]={6,2,5,5,4,5,6,3,7,6}; int sum[3000]; int main() { sum[0]=6; int n,ans=0,temp,all=0; cin>>n; for(int i=1;i<=2000;i++) { temp=i; while(temp) { ans+=number[temp%10]; temp/=10; } sum[i]=ans; ans=0; } for(int i=0;i<1000;i++) { for(int j=0;j<1000;j++) { if(sum[i]+sum[j]>=n) { continue; } if(sum[i]+sum[j]+sum[i+j]+4==n) { all++; } } } cout<<all; }
醉词意
by QFIT
饶佳珹
#include <bits/stdc++.h> using namespace std; int f[2500]={6,2,5,5,4,5,6,3,7,6}; int main(){ int x,s,n,ans=0; for(int i=10;i<2500;i++) { x=i; s=0; while(x) { s+=f[x%10]; x/=10; } f[i]=s; } cin>>n; for(int a=0;a<=1111;a++) for(int b=0;b<=1111;b++) if(f[a]+f[b]+f[a+b]==n-4) ans++; cout<<ans<<endl; return 0; }
Voldemort
#include<bits/stdc++.h> using namespace std; int main() { int n,he=0,b[1423]={6},a[10]={6,2,5,5,4,5,6,3,7,6}; cin>>n; int y; for(int i=1;i<=1422;i++) { y=i; while (y >= 1) { b[i] += a[y % 10]; y /= 10; } } for(int i=0;i<=711;i++) { for(int j=0;j<=711;j++) { if(i+j<1423&&b[i]+b[j]+b[i+j]+4==n) { he++; } } } cout<<he; }
青莲又失利了
#include<bits/stdc++.h> using namespace std; int a[10] = {6,2,5,5,4,5,6,3,7,6}; int ch(int x) { int sum=0; if(x == 0) return a[x]; while(x) { sum += a[x % 10]; x /= 10; } return sum; } int n,cnt; int main() { cin >> n; n -= 4; for(int i = 0;i <= 1000;i++) { for(int j = 0;j <= 1000;j++) { if(ch(i) + ch(j) + ch(i+j) == n) cnt++; } } cout << cnt << endl; return 0; }
Ethan_Si
烈焰 剑仙
12.[NOIP2008 提高组] 火柴棒等式 难度:普及+/提高 来源:-- https://attach.acgo.cn/picture/06f7a07f7e674f6086c51b9e62e28925.jpg AC代码(C++): #include <bits/stdc++.h> using namespace std; int a[2001] = {6}; int c[10] = {6,2,5,5,4,5,6,3,7,6}; int get_num,num1,num2; int main(void) { cin >> get_num; for (int i = 1;i <= 2000;i++) { num2 = i; while (num2 >= 1) { a[i] = a[i] + c[num2 % 10]; num2 /= 10; } } num1 = 0; for (int i = 0;i <= 1000;i++) { for (int j = 0;j <= 1000;j++) { if (get_num == a[i] + a[j] + a[i + j] + 4) { num1++; } } } cout << num1; return 0; } 没有注释,自行学习。 by:ACGO 你的点赞和关注就是我更新题解的最大动力! ------------------------------点个赞吧 ↓ !----------------------------
雷总的粉丝(米粉)
LS_YZY
135****4105
枫岚
#include <bits/stdc++.h> using namespace std; int a[2001] = {6}; int c[10] = {6,2,5,5,4,5,6,3,7,6}; int get_num,num1,num2; int main(void) { cin >> get_num; for (int i = 1;i <= 2000;i++) { num2 = i; while (num2 >= 1) { a[i] = a[i] + c[num2 % 10]; num2 /= 10; } } num1 = 0; for (int i = 0;i <= 1000;i++) { for (int j = 0;j <= 1000;j++) { if (get_num == a[i] + a[j] + a[i + j] + 4) { num1++; } } } cout << num1; return 0;
Lin猫澈.暮夏
➢═════════╋━ ጿ
复仇者_摆烂崽
#include <bits/stdc++.h> using namespace std; int a[2001] = {6}; int c[10] = {6,2,5,5,4,5,6,3,7,6}; int get_num,num1,num2; int main(void){ cin >> get_num; for (int i = 1;i <= 2000;i++){ num2 = i; while (num2 >= 1){ a[i] = a[i] + c[num2 % 10]; num2 /= 10; } } num1 = 0; for (int i = 0;i <= 1000;i++){ for (int j = 0;j <= 1000;j++){ if (get_num == a[i] + a[j] + a[i + j] + 4) { num1++; } } } cout << num1; return 0; }
181****0362
༺ཌༀ元气满满ༀད༻
共37条